Dreamhost - ImportError:没有名为_weakrefset的模块

时间:2014-10-07 21:48:22

标签: python passenger virtualenv shared-hosting dreamhost

Dreamhost本周末升级了许多服务器,包括我在的服务器。它破坏了我的配置,因此建议我尝试删除它运行的虚拟环境并尝试重新设置它。但是,当我尝试导航到该网站时,我明白了:

Traceback (most recent call last):
  File "/home/thesp/mysite.com/env/lib/python2.7/site-packages/site.py", line 74, in <module>
    __boot()
  File "/home/thesp/mysite.com/env/lib/python2.7/site-packages/site.py", line 2, in __boot
    import sys, os, os.path
  File "/home/thesp/lib/python2.7/os.py", line 400, in <module>
    import UserDict
  File "/home/thesp/lib/python2.7/UserDict.py", line 83, in <module>
    import _abcoll
  File "/home/thesp/lib/python2.7/_abcoll.py", line 11, in <module>
    from abc import ABCMeta, abstractmethod
  File "/home/thesp/lib/python2.7/abc.py", line 8, in <module>
    from _weakrefset import WeakSet
ImportError: No module named _weakrefset

我已经安装并运行了Python 2.7.8,并且在运行Python时,无论是在我的虚拟环境中还是从shell外部进行shell访问,我都在提取正确的版本(这与安装的本机版本不同) ,所以它找到我的设置)。引用此错误消息的其他帖子似乎认为没有virtualenv的升级版本是一个问题,但它的版本高于麻烦的版本。 (我正在运行1.11.6。)

Weirder仍然,我可以shell到Python,键入from _weakrefset import WeakSet,我没有导入导入错误。我正在运行Django 1.6而我可以python manage.py runserver没有错误,但是Web服务器在它看到Django之前就已经失败了。

在追溯中,前两行是从我的虚拟环境中拉出来的,但剩下的那些似乎不是,我不知道为什么,或者即使它是相关的。

关于我接下来应该做什么的任何建议?我要把这头发拉掉!我可以发布任何有助于排除故障的其他信息。谢谢!

1 个答案:

答案 0 :(得分:1)

嗯,我现在觉得很傻。我去了/home/thesp/lib/python2.7/目录并下载了_weakrefset.py,如下所示:

wget http://svn.python.org/projects/python/trunk/Lib/_weakrefset.py

......现在一切似乎都运行良好。目录中 是一个_weakrefset.pyo文件,所以我不确定为什么_weakrefset.py从未进入过,但这似乎已经成功了。

现在,这并没有解决为什么堆栈跟踪像目前一样切换目录的谜团,但它现在正在运行,所以我现在就把它拿走!