当我输入“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-dev
或zlib-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 组件上输入另一个输入时,为啥输入文件的值丢失?
为啥当我输入整数数据时,它的值在 Codeigniter 中总是四舍五入