python virtualenv - 缺少一些 python 核心库

标签 python virtualenv

我正在尝试在 CentOS 5 上使用 Python 2.6.6 设置一个 virtualenv。 我已经在主目录中安装了 Python 2.6.6,运行良好。

但是,当我尝试设置 virtualenv 时,出现以下错误(完整日志请参见 end):

ImportError: No module named _md5

通过查看其他线程,当更改 existing 虚拟环境上的 python 版本时会发生此错误,这不是我的情况:我试图创建一个新的。

因为安装setuptools时出现这个错误,我只是在virtualenv.py源码(l.907左右)注释了几行,所以只是安装Python。 然后,创建 virtualenv 就可以了,但是缺少许多核心 Python 库。

# Creating virtualenv
$ pwd
/home/myhome/tmp/virtualenv-1.6.4
$ python virtualenv.py --no-site-packages myenv
New python executable in myenv/bin/python

# Loading module outside virtualenv
$ python -c 'import time'

# Loading module inside virtualenv
$ source ve/bin/activate
$ python -c 'import time'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named time

我真的不明白! Python 库只是要复制的文件,对吧?


完整日志:

$ virtualenv --no-site-packages myenv
New python executable in myenv/bin/python2.6
Also creating executable in myenv/bin/python
Installing setuptools.............
  Complete output from command /home/myhome/myenv/bin/python2.6 -c "#!python
\"\"\"Bootstra...sys.argv[1:])

" --always-copy -U setuptools:
  -c:67: DeprecationWarning: the md5 module is deprecated; use hashlib instead
Traceback (most recent call last):
  File "<string>", line 67, in <module>
  File "/home/myhome/lib/python2.6/md5.py", line 10, in <module>
    from hashlib import md5
  File "/home/myhome/lib/python2.6/hashlib.py", line 136, in <module>
    md5 = __get_builtin_constructor('md5')
  File "/home/myhome/lib/python2.6/hashlib.py", line 63, in __get_builtin_constructor
    import _md5
ImportError: No module named _md5
----------------------------------------
...Installing setuptools...done.
Traceback (most recent call last):
  File "/home/myhome/bin/virtualenv", line 8, in <module>
    load_entry_point('virtualenv==1.6.4', 'console_scripts', 'virtualenv')()
  File "/home/myhome/lib/python2.6/site-packages/virtualenv-1.6.4-py2.6.egg    /virtualenv.py", line 810, in main
    never_download=options.never_download)
  File "/home/myhome/lib/python2.6/site-packages/virtualenv-1.6.4-py2.6.egg/virtualenv.py", line 910, in create_environment
    search_dirs=search_dirs, never_download=never_download)
  File "/home/myhome/lib/python2.6/site-packages/virtualenv-1.6.4-py2.6.egg/virtualenv.py", line 603, in install_setuptools
    search_dirs=search_dirs, never_download=never_download)
  File "/home/myhome/lib/python2.6/site-packages/virtualenv-1.6.4-py2.6.egg/virtualenv.py", line 577, in _install_req
cwd=cwd)
  File "/home/myhome/lib/python2.6/site-packages/virtualenv-1.6.4-py2.6.egg/virtualenv.py", line 878, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /home/myhome/myenv/bin/python2.6 -c "#!python
\"\"\"Bootstra...sys.argv[1:])

" --always-copy -U setuptools failed with error code 1

最佳答案

AFAIK _md5 依赖于一些 openssl 包。您应该先安装它们。

您可能还会找到这个 thread有用。

关于python virtualenv - 缺少一些 python 核心库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7094074/

相关文章:

python - 奇怪的while循环导致无限循环

pip - "cannot find -lssl; cannot find -lcrypto"安装 mysql-python 时?

python - 使用 tkinter 创建椭圆形的流畅运动

python - 使用 apache mod_wsgi 部署基于 flask 的应用程序时的 MySQL 连接

python - Pandas 将零替换为最接近的平均非零值

python - 姓名或头衔方面

python - 无法安装python包

mercurial - 切换到新分支时自动更改 Pycharm 中的 virtualenvs

python - 使用 python 3.3 时是否需要 python 包 virtualenv?

python - 无法在 Pycharm 中导入手动安装的库