【问题标题】:Ubuntu , Apache2 , Django ) Fatal Python error: Py_Initialize: Unable to get the locale encoding ImportError: No module named 'encodings'Ubuntu,Apache2,Django)致命的 Python 错误:Py_Initialize:无法获取语言环境编码 ImportError:没有名为“encodings”的模块
【发布时间】:2017-01-03 10:34:09
【问题描述】:

我正在尝试使用具有 Ubuntu 14.04、Apache2、python 3.4 的 AWS EC2 设置我的 django(1.8) 应用程序。

当我运行 'sudo service apache2 start' 时,页面不断重新加载,并且相同的错误消息堆积在 '/var/log/apache2/error.log'。

错误信息是

[2016 年 8 月 26 日星期五] [mpm_event:notice] [pid n:tid m] AH00489:Apache/2.4.7 (Ubuntu) mod_wsgi/4.5.5 Python/3.4.3 已配置——恢复正常操作 [2016 年 8 月 26 日星期五] [core:notice] [pid n:tid m] AH00094:命令行:'/usr/sbin/apache2' 致命的 Python 错误:Py_Initialize:无法获取语言环境编码 ImportError:没有名为“编码”的模块

我的配置如下:

我在'/etc/apache2/apache2.conf'的底部添加了一行:'Include /etc/apache2/httpd.conf'

'/etc/apache2/httpd.conf' :

WSGIScriptAlias / /home/ubuntu/project/project/project/wsgi.py
WSGIDaemonProcess project python-path=/home/ubuntu/project/project
WSGIProcessGroup project
WSGIPythonHome /usr/bin/python3.4

<Directory /home/ubuntu/project/project/project>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

Alias /static/ /home/ubuntu/project/project/deploy_to_server/
<Directory /home/ubuntu/project/project/deploy_to_server>
Require all granted
</Directory>

我认为我所做的一切都没有错。

但它一直在记录相同的错误。 我有什么遗漏吗?

我确实更改了mod_wsgi/3.x Python/2.7 configured --> mod_wsgi/4.5.5 Python/3.4.3 configured 用于同步 python 版本已经

【问题讨论】:

    标签: python django apache ubuntu mod-wsgi


    【解决方案1】:

    这是因为 /etc/apache2/httpd.conf 中的“WSGIPythonHome /usr/bin/pytyon3.4”行。

    没有这条线,它运行没有错误谢谢

    【讨论】:

    • 作为额外信息。 WSGIPythonHome 如果已设置,则应参考sys.prefix 为 Python 安装提供的目录。请注意,WSGIPythonHome 不能用于指代 Python 安装或虚拟环境,它与编译 mod_wsgi 的版本不同。因此,如果 mod_wsgi 为 Python 2.7 编译,则不能使用它来尝试强制使用 Python 3.5。
    • 关键是你需要这一行当且仅当你使用的是虚拟环境。如果您已经安装了 python,并且像 django 这样的 pip 依赖项已在系统范围内安装 - 只需省略 WSGIPythonHome 指令。
    【解决方案2】:

    对我来说,它试图指向 virtualenv 下的 python 可执行文件。

    错误:

    WSGIPythonHome /path/to/virtualenv/bin/python3.4
    

    正确:

    WSGIPythonHome /path/to/virtualenv/
    

    这如WSGI documentation for virtual environments 中所述。

    【讨论】:

      猜你喜欢
      • 2019-08-31
      • 2020-03-09
      • 2018-03-27
      • 2014-01-16
      • 1970-01-01
      • 1970-01-01
      • 2015-08-26
      • 2020-07-03
      • 2023-03-15
      相关资源
      最近更新 更多