到目前为止,我一直在Python2.5下开发一个django站点(不相关),当时我想切换到Python2.6以确保那里的工作正常。然而,当我为2.6设置virtualenv时,pip抛出了一个错误“ImportError:No module named _md5”。
背景:
virtualenv <path> --no-site-packages --python=python2.[56]
创建virtualenvs如果我尝试从virtualenv外部导入hashlib,它可以正常工作:
$ python2.6
Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import hashlib
>>>
但在里面也有同样的恐惧。
我试过重新安装python2.6、libpython2.6和python2.6-minimal并重新创建我的virtualenv,但是我得到了同样的错误。
没有一个list of potential duplicates不起作用,因为它们要么使用不同的linux发行版,要么只是说“重新编译python”。
有什么想法?
问题的最终结果是python2.6的不同版本——我的virtualenv(实际上是我在更早的时候为同样的目的创建的)已经安装了python2.6.4,而系统的版本则高达2.6.6。
我试过
virtualenv <path> --no-site-packages --python=python2.6 --clear
,但显然--clear
没有清除旧的python容器。rm -rf
-创建env目录并从头开始重新创建(因此venv也有2.6.6版本)解决了这个问题。我也有类似的问题。我使用了从外部存储库签出的virtualenv。在virtualenv中,我有32位python2.6.4,在本地系统中,我有64位python2.6.6。当我打字的时候
在我的virtualenv中,我收到了同样的异常(
ImportError: No module named _md5
)。真正的问题是导入_hashlib
模块。它引发了异常ImportError: libssl.so.0.9.8: wrong ELF class: ELFCLASS64
。解决方案是安装ia32-libs
包。相关问题 更多 >
编程相关推荐