升级到 Python 2.7.10:无法将目标 WSGI 脚本加载为 Python 模块
Upgrade to Python 2.7.10: Target WSGI script cannot be loaded as Python module
当我使用 anaconda Python 从 2.7.9 升级到 2.7.10 时,我在我的 apache2 日志中收到以下错误并且我的网站不再工作。
mod_wsgi (pid=608): Target WSGI script '/www/wsgi_scripts/django_myproject.wsgi' cannot be loaded as Python module.
Exception occurred processing WSGI script '/www/wsgi_scripts/django_myproject.wsgi'.
Traceback (most recent call last):
File "/www/wsgi_scripts/django_myproject.wsgi", line 8, in <module>
import django.core.handlers.wsgi
File "/Users/xnx/anaconda/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 6, in <module>
from io import BytesIO
File "/Users/xnx/anaconda/lib/python2.7/io.py", line 51, in <module>
import _io
ImportError: dlopen(/Users/xnx/anaconda/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyErr_ReplaceException
Referenced from: /Users/xnx/anaconda/lib/python2.7/lib-dynload/_io.so
Expected in: dynamic lookup
我认为这是软件包库版本中的某种不匹配,但有人知道是哪一个吗?
我怀疑这是 Anaconda 的问题,因为我刚刚遇到了同样的问题。我在这里报告了一个问题:https://github.com/conda/conda/issues/1367
更新:
conda 的家伙现在已经发布了一个固定的 virtualenv 包,不再有这个问题。
仔细检查 PYTHONPATH
是否正确(不要在启动文件的任何地方覆盖它)。
否则,您可以考虑将 Python 从 2.7.10 降级到 2.7.9。
例如(如 here 中所建议):
conda install python=2.7.9
或尝试:
brew switch python 2.7.9
因为这可能是 2.7.10 的一些特殊问题。
或者使用 Python 3.x。
当我使用 anaconda Python 从 2.7.9 升级到 2.7.10 时,我在我的 apache2 日志中收到以下错误并且我的网站不再工作。
mod_wsgi (pid=608): Target WSGI script '/www/wsgi_scripts/django_myproject.wsgi' cannot be loaded as Python module.
Exception occurred processing WSGI script '/www/wsgi_scripts/django_myproject.wsgi'.
Traceback (most recent call last):
File "/www/wsgi_scripts/django_myproject.wsgi", line 8, in <module>
import django.core.handlers.wsgi
File "/Users/xnx/anaconda/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 6, in <module>
from io import BytesIO
File "/Users/xnx/anaconda/lib/python2.7/io.py", line 51, in <module>
import _io
ImportError: dlopen(/Users/xnx/anaconda/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyErr_ReplaceException
Referenced from: /Users/xnx/anaconda/lib/python2.7/lib-dynload/_io.so
Expected in: dynamic lookup
我认为这是软件包库版本中的某种不匹配,但有人知道是哪一个吗?
我怀疑这是 Anaconda 的问题,因为我刚刚遇到了同样的问题。我在这里报告了一个问题:https://github.com/conda/conda/issues/1367
更新:
conda 的家伙现在已经发布了一个固定的 virtualenv 包,不再有这个问题。
仔细检查 PYTHONPATH
是否正确(不要在启动文件的任何地方覆盖它)。
否则,您可以考虑将 Python 从 2.7.10 降级到 2.7.9。
例如(如 here 中所建议):
conda install python=2.7.9
或
brew switch python 2.7.9
因为这可能是 2.7.10 的一些特殊问题。
或者使用 Python 3.x。