Django Apache 错误:没有名为“encodings”的模块。 Windows Server 2008 R2 标准版

2023-12-13

我从 git 克隆 repo。我创建 venv:

python -m venv myenv
/myenv/scripts/activate.bat
pip install -r requirements.txt
pip install mod_wsgi-4.6.5+ap24vc14-cp36-cp36m-win_amd64.whl

如果我从 myvenv 运行:

python manage.py runserver

是工作!

如果我从 apache 运行,则会出现错误:

[Wed Oct 30 10:51:18.732028 2019] [mpm_winnt:notice] [pid 352:tid 168] AH00455: Apache/2.4.41 (Win64) mod_wsgi/4.6.5 Python/3.6 configured -- resuming normal operations
[Wed Oct 30 10:51:18.732028 2019] [mpm_winnt:notice] [pid 352:tid 168] AH00456: Apache Lounge VS16 Server built: Aug  9 2019 16:46:32
[Wed Oct 30 10:51:18.732028 2019] [core:notice] [pid 352:tid 168] AH00094: Command line: 'httpd -d C:/Apache24'
[Wed Oct 30 10:51:18.732028 2019] [mpm_winnt:notice] [pid 352:tid 168] AH00418: Parent: Created child process 1748
Fatal Python error: Py_Initialize: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'

Current thread 0x00000354 (most recent call first):
[Wed Oct 30 10:51:23.677228 2019] [mpm_winnt:crit] [pid 352:tid 168] AH00419: master_main: create child process failed. Exiting.

httpd.conf 下面:

LoadFile "c:/<>/python/python36/python36.dll"
LoadModule wsgi_module "c:/envs/myproject/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"


WSGIScriptAlias / "c:/<myproject>/wsgi.py"
WSGIPythonHome "c:/envs/myproject"
WSGIPythonPath "c:/<myproject>"


Alias /static/ "c:/<myproject>/static/"
<Directory "c:/<myproject>/static">
    Require all granted
</Directory>

<Directory c:/<myproject>>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
<Directory c:/<myproject>/attachments>
    Require all granted
</Directory>

我将 PYTHONHOME 和 PYTHONPATH 设置为“C:\Users\user\AppData\Local\Programs\Python\Python36;C:\Users\user\AppData\Local\Programs\Python\Python36\Scripts”

我看了很多问题,例如:Windows 10 上的致命 Python 错误 ModuleNotFoundError:没有名为“encodings”的模块但这个错误只出现在apache中。


问题是 Windows 上的 Apache 当作为Service 不接听PYTHONHOME环境变量使用正确的 Python 安装需要它。

如果没有找到它,它会给出一个非常误导性的错误encdongs module not found

    Fatal Python error: initfsencoding: unable to load the file system codec
    ModuleNotFoundError: No module named 'encodings'

要使其正常工作,请在 Windows 终端或 CMD 中将 Apache 作为标准可执行文件运行 -不作为服务:

    set PYTHONHOME=<root-of-python-or-conda-env>
    httpd  // In this case, Apache server picks up PYTHONHOME and comes up
    httpd -k start // as a service (need to be admin) - here it DOES NOT pick up PYTHONHOME and fails with the error above

另请注意,根据 mod_wsgi 作者的说法,在 Windows 上,Apache 似乎忽略了WSGIPython主页指令,所以不用费心去那个兔子洞。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django Apache 错误:没有名为“encodings”的模块。 Windows Server 2008 R2 标准版 的相关文章

随机推荐

  • Linq - 检查where子句中的条件如果字段可以为空

    我有问题 即使项目没有引用 如何检查 where 子句中的条件 最基本的方法 我正在检查我的类中的字段 该字段可以为空 当我以这种方式检查它时 它将返回空引用异常 var soldOutProducts from p in list whe
  • swing 未捕获的异常处理程序

    我正在尝试为 swing 应用程序构建一个通用异常处理程序 如下所述 http www javaspecialists eu archive Issue081 html 我在 jython 中工作 python 语法被编译为 java 并执
  • 我想在Android中使用Xpath来解析XML

    我喜欢在java中使用Xpath解析XML 但是当我在android上做同样的事情时 找不到XPath 任何想法如何实施 如果不可能的话 还有其他更快的 Android 解析器吗 Thanks Kai Android XPath 自 And
  • 获取外键值

    如何获取外键值 我有一个常见的车辆模型 它链接到年份 系列 发动机类型 车身样式 变速箱和传动系统 全部作为外键 我想获取我的应用程序的这些字段的值 但我不知道如何处理它们 任何想法都将受到高度赞赏 class Model models M
  • 完美滚动条默认滚动条保留,并且“完美滚动条”不起作用

    我真的需要这方面的帮助 我想用 完美滚动条 替换 iframe 上的默认滚动条 我已经下载了完美的滚动条 我还将所需的文件包含到我的 html 文档中 根据文档 我在 iframe 中设置了内容容器的样式 结果是 当我加载主页并将鼠标光标移
  • 如何在 1 次后停止 gif 反应本机?

    我有一个 gif 正在反应 我想停止循环 我在我的视图中添加了一个图像 我给图像提供了我的 gif 的路径 它可以工作 但是 gif 进入无限循环 有什么办法停下来吗
  • 如何使用 AVR 的 gnu 汇编器相对于 PC 跳转?

    我有一个使用 avr objcopy 反汇编的二进制文件 中断向量表如下所示 00000000 VECTOR TABLE 0 13 c0 rjmp 38 0x28 RESET 2 b8 c1 rjmp 880 0x374 INT0 4 fd
  • xmlns 属性不允许我解析[重复]

    这个问题在这里已经有答案了 过去一小时我一直在尝试解析这个 XML 文件
  • 简单检查 Android 应用程序后台

    我通过从每个活动的 onResume 调用 plusActivity 和从 onPause 调用 minusActivity 来跟踪我的应用程序中当前可见的活动数量 应该是 0 或 1 plus minusActivity 位于我的 myA
  • 如何检查 Android 是否安装了 Facebook

    我正在修改我的应用程序 以便能够捕获用户在未安装 facebook 应用程序 SSO 所需 的情况下尝试发布的情况 这是我正在使用的代码 try ApplicationInfo info getPackageManager getAppli
  • Firebase 存储 downloadURL 文件结构

    所以我使用 firebase 存储来上传我的网站文件 这是目录结构的示例 Project index html css style css js mainScript js 因此 我以这种结构将这些文件上传到 firebase 但我注意到返
  • Php数组数组从名称获取id

    我在 PHP 中有一个如下所示的数组 my array array my array array id gt myid1 name gt myname1 my array array id gt otherid name gt othern
  • 新款 iPhone X 型号有哪些尺寸级别?

    Apple 推出了三款新 iPhone X 机型 iPhone XR XS 和 XS Max 它们的尺寸类别是什么 与其他 iPhone 型号相比如何 我将为每个型号提供三条信息 纵向时的尺寸类别 横向时的尺寸类别以及屏幕分辨率 means
  • 在简单的Python脚本中列出超出范围的索引

    我刚刚开始学习 Python 想要创建一个简单的脚本 从用户输入中读取整数并打印它们的总和 我写的代码是 inflow list map int input split result 1 for i in inflow result inf
  • 付款捕获后调用 Magento 事件观察者

    我试图在订单创建后并在捕获付款后调用观察者 到目前为止我已经尝试过了 checkout submit all after sales order payment place end sales order place after 销售 订单
  • 如何设置段落字符限制?

    我目前有 p event desc p 其中给出了事件的完整描述 有些有很长的描述 而我只想要前 50 个字符 如何才能实现这一目标 尝试这个 fifty chars width 50ch overflow hidden white spa
  • 动画 GIF 帧速率似乎低于预期

    我有一个winforms应用程序 上面有一个 gif 用于让用户了解停滞的进程 问题是它的播放速度比其他应用程序 chrome internet explorer 慢得多 我已经尝试过 gif 了PictureBox and Label但结
  • 在 C# 中,类中的析构函数和 Finalize 方法有什么区别?

    类中的析构函数和 Finalize 方法之间有什么区别 如果有 我最近发现 Visual Studio 2008 认为析构函数与 Finalize 方法同义 这意味着 Visual Studio 不允许您在类中同时定义这两种方法 例如下面的
  • 使用 HttpWebRequest 时,为什么我在某些链接上收到“(304) Not Modified”错误?

    任何想法为什么在我尝试使用 HttpWebRequest 访问的某些链接上我收到 远程服务器返回错误 304 未修改 在代码中 我使用的代码来自杰夫的帖子在这里 该页面似乎消失了 请参阅在 Wayback Machine 上存档副本 请注意
  • Django Apache 错误:没有名为“encodings”的模块。 Windows Server 2008 R2 标准版

    我从 git 克隆 repo 我创建 venv python m venv myenv myenv scripts activate bat pip install r requirements txt pip install mod ws