我试图在Python2.6下创建Python2.7虚拟环境,我只是运行:
virtualenv --python=python27 #python27 correctly leads to my python installation in /opt/python2.7/bin/python
Virtualenv失败,错误如下
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/virtualenv.py", line 17, in <module>
import zlib
ImportError: No module named zlib
这让我困惑,因为:
1)我显然有python zlib模块。当我在Python2.6的交互环境中运行“import zlib”时,可以很容易地导入它。
2)我的系统(centos)中也安装了zlib:
[me@mycomp]# rpm -qa | grep zlib
zlib-1.2.3-29.el6.x86_64
zlib-1.2.3-29.el6.i686
zlib-devel-1.2.3-29.el6.x86_64
关于这个问题还有另外两个问题,here和here,在这两种情况下,人们根本没有安装zlib,这不是我的情况(我在python 2.6中安装了zlib,应该没问题吧?)他们也在使用pythonbrew,而pythonbrew显然已经不在积极开发之中了。
为什么virtualenv找不到zlib?virtualenv如何查找其模块?我需要在Python2.7中安装zlib吗?或者重新安装Python2.7以支持zlib?
旁注:请不要问我为什么使用旧版本,这不是我的选择。
您的Python必须是在没有Python支持的情况下编译的,很可能是因为编译时没有安装
zlib-devel
。查看make
或make install
的输出,您应该会看到如下内容(取自Python 2.7.6的构建):要解决问题,您需要安装zlib devel(如果未安装),然后重新编译或重新安装Python。
zlib
是一个与计算机上的zlib库接口的Python模块。它是标准库的一部分,因此应该在所有Python2.7安装中使用。如果不是,在您的例子中,那么这可能意味着您的Python版本由于某种原因在没有zlib支持的情况下被编译。我无法想象为什么,除非它与你使用旧版本zlib所做的事情有关。我认为您需要找到另一个Python包,或者自己编译Python。
相关问题 更多 >
编程相关推荐