Can't fix "zipimport.ZipImportError: can't decompress data; zlib not available" when I type in "python3.6 get-pip.py"

Can't fix "zipimport.ZipImportError: can't decompress data; zlib not available" when I type in "python3.6 get-pip.py"

我正在尝试安装 Django。原来那个课程的老师说我们将使用 Python 3.6 我安装 Python 3.6。现在它是我的默认版本,它在某种程度上取代了我拥有的上一个版本;这是 Python 3.5。 在那之前一切正常。但是当我想安装 Django 时 "pip3 install django",它告诉我模块已经满足并因此安装。

I 运行 "python3" 命令进入我的终端。它 运行s Python 3.6。我尝试导入 Django,结果很成功..."No module named 'django'".

然后我意识到 pip3 实际上是将我的模块安装到 Python 3.5 而不是 3.6。所以我要做的是在 Python 3.6 中安装 pip。

我下载 get-pip.py 并继续执行 Python 3.6 输入 "python3.6 get-pip.py"。

这是该死的 "zipimport.ZipImportError: can't decompress data; zlib not available" 进入的时候。我已经尝试了很多东西,但没有一个解决了 %^$!问题。我真的很累。

我已经尝试过的: python3.6 -m pip install django,输出为“/usr/local/bin/python3.6: No module named pip”

apt install zlib,输出为"E: Unable to locate package zlib"

apt install zlib1g-dev,提示已经安装;问题仍然存在。

我也遇到了这个问题(在为 pyenv 创建一个简单的安装程序时)。这是我如何解决 Mac 和 Linux:

Ubuntu 20.04, 18.04

您需要 zlib 开发文件,可能还需要 zlib 本身:

sudo apt install -y zlib1g-dev zlibc

如果您缺少 zlib,您可能 运行 遇到的下一个问题是 openssl,因此最好现在也获取它:

sudo apt install -y libssl-dev
sudo apt install -y libssl1.1 || sudo apt install -y libssl1.0

macOS

我相信它带有 XCode CLI 工具(或者至少我不必自定义安装它 Big Sur):

xcode-select --install

它解决了我的 centos 7.6 问题:- yum 安装 zlib-deve

建议的解决方案(安装 zlib1g-devzlib-devel)似乎可以解决大多数情况下的问题。这是我最近遇到的一个极端情况:无论你想做什么 运行 都可能通过符号链接使用 zlib,这可能会被破坏。

在我的例子中,我试图 运行 一个已经有 python 的第 3 方软件的构建,并且所有必要的库都被嵌入其中。它被打包为 tar.gz 档案。在 Windows 机器上解压缩存档,然后将内容复制到另一台 linux 机器破坏了所有符号链接(如果你在带有符号链接的文件夹中执行 ls -l 你会看到所有符号链接都有大小为 0,不要指向任何东西)。将 tar.gz 直接复制到 linux 机器并在那里解压解决了问题。

P.S。我知道这是一个边缘案例场景,但我和另外一个开发人员花了很长时间才弄明白,所以我认为这里值得一提,以防万一有人像我一样倒霉。

对我来说,它在 RHEL 中有效: $ yum 安装 zlib-devel