升级到Python 2.7.10:目标WSGI脚本无法作为Python模块加载

xnx*_*xnx 5 mod-wsgi apache2 python-2.7

当我使用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
Run Code Online (Sandbox Code Playgroud)

我希望这是包库版本中的某种不匹配,但有谁知道哪一个?

ken*_*orb 1

仔细检查它PYTHONPATH是否正确(不要在启动文件中的任何地方覆盖它)。

否则,您可以考虑将 Python 从 2.7.10 降级到 2.7.9。

例如(如此处建议的

conda install python=2.7.9
Run Code Online (Sandbox Code Playgroud)

或者使用 Homebrew 时尝试:

brew switch python 2.7.9
Run Code Online (Sandbox Code Playgroud)

因为这可能是 2.7.10 的一些特殊问题。

或者使用 Python 3.x。