Python 没有名为zlib的模块
首先,请容忍我。我很难告诉别人我的问题,这是一条很长的线索 我使用pythonbrew在ubuntu10.10中运行多个版本的python。 有关安装pythonbrew及其工作原理,请参考下面的链接 在阅读了几个stackoverflow线程之后,我终于在这个目录下找到了名为Setup的文件:~/.pythonbrew/pythons/Python-2.7.1/lib/python2.7/configPython 没有名为zlib的模块,python,virtualenv,zlib,ubuntu-10.10,Python,Virtualenv,Zlib,Ubuntu 10.10,首先,请容忍我。我很难告诉别人我的问题,这是一条很长的线索 我使用pythonbrew在ubuntu10.10中运行多个版本的python。 有关安装pythonbrew及其工作原理,请参考下面的链接 在阅读了几个stackoverflow线程之后,我终于在这个目录下找到了名为Setup的文件:~/.pythonbrew/pythons/Python-2.7.1/lib/python2.7/config In this Setup file I see # Andrew Kuchling's
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。但是,当我尝试导入zlib时,我收到了相同的错误,因此我想我必须做一些事情来将zlib安装到lib中
但我不知道我需要做什么。有人能告诉我正确的方向吗???多谢各位
我这样做是因为我想在我创建的不同virtualenv中使用不同版本的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
谢谢
(第二次编辑) 我也安装了3.2,我测试它没有问题,所以我想我的问题归结到如何安装缺失的模块
听起来您需要为zlib安装devel包,可能需要执行类似于
sudo apt get install zlib1g dev
(我不使用ubuntu,所以您需要仔细检查该包)。而不是使用Python BREW,你可能想考虑手工编译,这不是很难。只需下载源代码,然后配置
,制作
,制作安装
。您至少需要将--prefix
设置到某个位置,这样它就可以安装在您想要的地方
./configure --prefix=/opt/python2.7 + other options
make
make install
您可以使用/configure--help
检查哪些配置选项可用,并通过执行以下操作查看您的系统python是如何编译的:
python -c "import sysconfig; print sysconfig.get_config_var('CONFIG_ARGS')"
关键是确保为您的系统安装了开发包,以便Python能够构建
zlib
、sqlite3
等模块。python文档更详细地介绍了构建过程:。默认情况下,在配置python源代码时,zlib模块处于禁用状态,因此您可以在配置它时使用选项--with zlib启用它。所以它变成了
./configure --with-zlib
对于我遇到的案例,我发现make后缺少模块。因此,我做了以下工作:
安装丢失的zlib-dev软件包后,还可以使用pythonbrew卸载并重新安装所需的python版本,它似乎会选择新的软件包进行编译以获得正确的功能。这样,您就可以继续使用pythonbrew,而不必自己进行编译(虽然没有那么困难)运行configure后,您可以在文件模块/设置中更改config选项,如下所示:
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
或者,您可以按原样取消对zlib行的注释。我的目标是从Ubuntu中的命令行创建一个新的Django项目,如下所示:
django-admin.py startproject mysite
我已经安装了python2.7.5。我得到了这个错误:
ImportError: No module named zlib
好几个小时我都找不到解决办法,直到现在
以下是解决方案的链接-
我遵循并执行了第1.1节中的指令,它工作得非常好!这是一个简单的解决方案。我找到的最简单的解决方案在devguide上给出:
sudo apt-get build-dep python3.6
如果该软件包不适用于您的系统,请尝试减少次要版本,直到在系统的软件包管理器中找到可用的软件包
我试着在上解释细节。我在创建虚拟环境(venv)时遇到了很多问题,如中所述 这篇文章中列出的大多数命令对我也没有帮助,如果这也是你的情况,我就是这么做的:
pip3安装——用户pipenv
pip安装virtualenv
mkdir myenv
cd-myenv
virtualenv-p/usr/bin/python3-venv
source./venv/bin/activate
停用
我认为3.2是不必要的。我刚刚删除了那些内容。很抱歉我能够用3.2创建virtualenv,但不是2.7.1!你好我现在会调查其余的。但是我刚刚尝试安装zlib1gdev,但是看起来我已经安装了(我尝试了一些其他命令,比如-f install)zlib1gdev已经是最新版本了。zlib1g dev设置为手动安装。到目前为止,我得到了良好的结果。我能够使用pythonbrew创建2.7.1版本。一旦我完成测试,我会检查这个作为答案。谢谢在Ubuntu上,您可以通过运行
sudo-apt-get-build-dep-Python
和/或sudo-apt-get-build-dep-python3
安装所有Python构建依赖项。更正:sudo-apt-get-build-dep-python2.7
和sudo-apt-get-build-dep-python3.4
。在centos 7中使用$sudo-yum-install-zlib-develTo是公平的,pythonconfigure
用于提供--with zlib
标志;但是,它已经有一段时间没有出现了。在2.7.6中不起作用,我得到了配置:警告:无法识别的选项:-使用zlibNot与Python 3.2.5一起工作->在这里找到了有效的答案:这是我在Ubuntu 13.10上构建python2.2时发现的唯一对我起作用的东西。荣誉…也需要
ImportError: No module named zlib
sudo apt-get build-dep python3.6