当我输入“python3.6 get-pip.py”时,无法修复“zipimport.ZipImportError:无法解压缩数据;zlib 不可用”

Posted

技术标签:

【中文标题】当我输入“python3.6 get-pip.py”时,无法修复“zipimport.ZipImportError:无法解压缩数据;zlib 不可用”【英文标题】:Can't fix "zipimport.ZipImportError: can't decompress data; zlib not available" when I type in "python3.6 get-pip.py" 【发布时间】:2019-11-21 18:20:15 【问题描述】:

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

我在终端中运行“python3”命令。它运行 Python 3.6。我尝试导入 Django,然后繁荣......“没有名为 'django' 的模块”。

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

我下载 get-pip.py 并继续使用 Python 3.6 输入“python3.6 get-pip.py”来执行它。

这是该死的“zipimport.ZipImportError:无法解压缩数据;zlib 不可用”进入的时候。我尝试了很多东西,但没有一个修复了 %^$!问题。我真的很累。

我已经尝试过的: 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,表示已经安装;但问题仍然存在。

【问题讨论】:

你有 pip3.6 可用吗? 不,如何安装? 尝试运行“python3.6 -m ensurepip” 我已经运行过了。它抛出相同的错误。 "zipimport.ZipImportError: 无法解压数据;zlib 不可用" 我在 Fedora 32 中遇到了同样的问题,我能够在运行时修复它: sudo dnf install zlib-devel.x86_64 ,也许你可以用 apt 找到类似的包 【参考方案1】:

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

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

附:我知道这是一个极端情况,但我和另外一位开发人员花了很长时间才弄明白,所以我认为这里值得一提,以防万一有人像我一样倒霉。

【讨论】:

【参考方案2】:

对我来说,它在 RHEL 中工作: $ yum install zlib-devel

【讨论】:

【参考方案3】:

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

【讨论】:

【参考方案4】:

我也遇到了这个问题(在为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

【讨论】:

不适合我,使用 docker image ubuntu:18.04, python2.7.8

以上是关于当我输入“python3.6 get-pip.py”时,无法修复“zipimport.ZipImportError:无法解压缩数据;zlib 不可用”的主要内容,如果未能解决你的问题,请参考以下文章

当我在 vue 组件上输入另一个输入时,为啥输入文件的值丢失?

当我输入带空格的输入时,批处理 cmd 退出

当我输入带空格的输入时,批处理 cmd 退出

为啥当我输入整数数据时,它的值在 Codeigniter 中总是四舍五入

当我使用 regasm 时,所有参数都输入为输入?那可以改变吗?

当我用 vuejs 输入时隐藏的错误