首先,请耐心等待。我很难向他人描述我的问题,这是一个很长的帖子...
我在Ubuntu 10.10中使用pythonbrew运行多个Python版本。 有关安装pythonbrew及其工作原理,请参阅下面的链接。
在阅读了几篇stackoverflow文章后,我终于找到了名为Setup的文件,它位于以下目录下:~/.pythonbrew/pythons/Python-2.7.1/lib/python2.7/config
In this Setup file I see
# Andrew Kuchling's zlib module.
# This require zlib 1.1.3 (or later).
# See http://www.gzip.org/zlib/
# zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
我取消了最后一行的注释,然后再次运行python -v。但是当我尝试import zlib时,仍然收到了相同的错误,所以我猜我需要做一些安装zlib到lib中的操作。
但是我不知道我需要做什么。有人可以指导我吗?非常感谢!
我这样做是因为我想在我创建的不同虚拟环境中使用不同版本的python。 当我执行 virtualenv -p python2.7 时,显示没有名为zlib的模块。
jwxie518@jwxie518-P5E-VM-DO:~$ virtualenv -p python2.7 --no-site-packages testenv
Running virtualenv with interpreter /home/jwxie518/.pythonbrew/pythons/Python-2.7.1/bin/python2.7
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 17, in <module>
import zlib
ImportError: No module named zlib
编辑
我需要通过添加 --force 来安装 2.7.1 版本。
我正在开发 Django 并且需要其中一些缺失的模块,例如 sqlite3,为了创建虚拟环境我也需要 zlib。如果我只使用系统默认的 Python(2.6.6),那么我就没有问题。
要使用系统默认版本,我所需要做的一切就是:
virtualenv --no-site-packages testenv
谢谢!
(第二次编辑)
我也安装了3.2,并且测试过没有问题,所以我猜我的问题在于如何安装缺失的模块。
jwxie518@jwxie518-P5E-VM-DO:~$ virtualenv -p python3.2 testenv
Running virtualenv with interpreter /home/jwxie518/.pythonbrew/pythons/Python-3.2/bin/python3.2
New python executable in testenv/bin/python3.2
Also creating executable in testenv/bin/python
Installing distribute..................................................................................................................................................................................................................................................................................................................................done.
Installing pip...............done.
jwxie518@jwxie518-P5E-VM-DO:~$ virtualenv -p python3.2 --no-site-packages testenv
Running virtualenv with interpreter /home/jwxie518/.pythonbrew/pythons/Python-3.2/bin/python3.2
New python executable in testenv/bin/python3.2
Also creating executable in testenv/bin/python
Installing distribute..................................................................................................................................................................................................................................................................................................................................done.
Installing pip...............done.