【问题标题】:Upgrade to Python 2.7.10: Target WSGI script cannot be loaded as Python module升级到 Python 2.7.10:目标 WSGI 脚本无法作为 Python 模块加载
【发布时间】:2015-06-05 19:28:35
【问题描述】:

当我使用 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

我预计这是包库版本中的某种不匹配,但有人知道是哪一个吗?

【问题讨论】:

  • 您是否尝试重建/重新安装 mod_wsgi?如果使用 Python 虚拟环境,是否在 Python 升级后重新创建了 Python 虚拟环境?升级 Python 通常会导致现有 Python 虚拟环境停止工作。
  • 感谢您的回复,格雷厄姆。我确实使用 pip 重新安装了 mod_wsgi,但除非我降级 Python,否则我会得到同样的错误。
  • 您是说您正在运行mod_wsgi-express 还是使用系统范围的Apache?如果在系统范围内,系统 Apache 设置如何知道从哪里获取 mod_wsgi.so?执行pip install mod_wsgi 不会将 mod_wsgi '.so' 文件安装到系统 Apache 模块目录中,如果系统 Apache 已设置为从系统 Apache 模块目录中提取它,则必须作为单独的步骤完成。跨度>

标签: python-2.7 apache2 mod-wsgi


【解决方案1】:

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

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

例如(如here 中所建议的):

conda install python=2.7.9

when using Homebrew试试:

brew switch python 2.7.9

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

也可以改用 Python 3.x。

【讨论】:

  • 是的,这就是我必须做的。不过,我无法将所有内容都迁移到 Python 3。
【解决方案2】:

我怀疑这是 Anaconda 的问题,因为我刚刚遇到了同样的问题。我在这里报告了一个问题:https://github.com/conda/conda/issues/1367

更新

conda 人现在已经发布了一个修复的 virtualenv 包,不再有这个问题。

【讨论】:

  • 谢谢 - 尽管我之前的评论(现已删除)我无法通过重新编译和重新安装 mod_wsgi 来解决这个问题,所以我认为你是对的:Anaconda 有问题。
猜你喜欢
  • 2011-09-21
  • 2021-11-28
  • 1970-01-01
  • 2018-01-18
  • 2018-06-23
  • 2020-05-17
  • 2018-07-20
相关资源
最近更新 更多