mac下,用virtualenv新建指定python版本时报No module named 'zlib'错!!

在mac下学python,感觉不那么顺啊。。
最近在学习如何管理机子上各种版本的python的切换,用到了virtualenv,用默认的python来新建虚拟环境没问题,当我指定python版本时,就报错,如下:

Karon:~ karonchen$ virtualenv test --python=Python 3.4
Running virtualenv with interpreter /Users/karonchen/.pythonbrew/pythons/Python-3.3.5/bin/Python
    Traceback (most recent call last):
    File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv.py", line 17, in <module>
    import zlib
    ImportError: No module named 'zlib'
Karon:~ karonchen$

我看了下/usr/local/lib确实木有,于是我安装了zlib-1.2.8.tar.gz,安装步骤也不知道对不对,如下:

Karon:~ karonchen$ ./configure 
Karon:~ karonchen$ make
Karon:~ karonchen$ sudo make install

求助,小弟感激不尽。。

阅读 14.9k
2 个回答

这个问题在stackoverflow上看到过
zlib应该是python的标准库
当时的题主重新安装了python的相应版本就好了

原因应该是如果是编译安装的python 有些必要的包可能没有安装
make和make install的输出信息:

Python build finished, but the necessary bits to build these modules were not found:
[...] zlib
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

参考下面链接:
http://stackoverflow.com/questions/20829507/virtualenv-no-module-named-zlib

File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv.py", line 17, in

你的 virtualenv 在使用 /Users/karonchen/.pythonbrew/pythons/Python-3.3.5/bin/Python,但是它在尝试使用 /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7
下的文件。这显然不对嘛。找不到 zlib 是因为 Python 3 的库命名方法不一样。你是不是设置过 PYTHONPATH?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题