首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有名为zlib的模块

没有名为zlib的模块
EN

Stack Overflow用户
提问于 2011-05-29 18:16:40
回答 9查看 170.3K关注 0票数 72

首先,请容忍我。我很难告诉别人我的问题,这是一个漫长的过程.

我在Ubuntu10.10中使用pythonbrew运行多个版本的python。有关安装pythonbrew及其工作原理,请参阅下面的链接。

http://www.howopensource.com/2011/05/how-to-install-and-manage-different-versions-of-python-in-linux/

在读取了两个堆栈溢出线程之后,我终于在这个目录下找到了名为Setup的文件:~/.pythonbrew/pythons/Python-2.7.1/lib/python2.7/config

代码语言:javascript
复制
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安装到库中。

但我不知道我需要做什么。有人能指点我朝正确的方向吗?非常感谢!

我这么做是因为我想在我创建的不同的虚拟环境中使用不同版本的python。当我执行virtualenv -p python2.7时,没有收到名为zlib的模块。

代码语言:javascript
复制
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

编辑

我必须安装2.7.1通过附加--强制。

我正在开发Django,我需要一些缺少的模块,例如sqlite3,为了创建我的虚拟服务器,我肯定需要zlib。如果我只使用系统默认值(2.6.6),我就没有问题。

要在系统默认情况下做到这一点,我所需要做的就是

代码语言:javascript
复制
virtualenv --no-site-packages testenv

谢谢!

(第二编辑)

我还安装了3.2,并且测试了它没有问题,所以我想我的问题归结于如何安装缺少的模块。

代码语言:javascript
复制
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.
EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2011-05-29 19:27:11

听起来您需要安装zlib的devel包,可能需要执行以下操作

代码语言:javascript
复制
# ubuntu 12,14,16,18,20.04+
sudo apt-get install zlib1g-dev

与其使用python,您可能想考虑只使用手工编译,这并不难。只需下载源代码,以及configuremakemake install。您至少要将--prefix设置为某个位置,这样它就可以安装在您想要的地方。

代码语言:javascript
复制
./configure --prefix=/opt/python2.7 + other options
make
make install

您可以检查./configure --help可用的配置选项,并通过以下操作查看编译系统python的方法:

代码语言:javascript
复制
python -c "import sysconfig; print sysconfig.get_config_var('CONFIG_ARGS')"

关键是确保为您的系统安装了开发包,以便Python能够构建zlibsqlite3等模块。python更详细地介绍了构建过程:http://docs.python.org/using/unix.html#building-python

票数 55
EN

Stack Overflow用户

发布于 2012-02-28 16:49:00

默认情况下,当您配置Python时,zlib模块是禁用的,因此您可以在配置它时使用选项-with启用它。所以它变成了

代码语言:javascript
复制
./configure --with-zlib
票数 29
EN

Stack Overflow用户

发布于 2012-06-19 08:35:06

对于我遇到的情况,我发现在make之后缺少模块。所以我做了以下几件事:

  1. 安装zlib-devel
  2. 再次制作并安装python。
票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6169522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档