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-dev
或 zlib-devel
)似乎可以解决大多数情况下的问题。这是我最近遇到的一个极端情况:无论你想做什么 运行 都可能通过符号链接使用 zlib,这可能会被破坏。
在我的例子中,我试图 运行 一个已经有 python 的第 3 方软件的构建,并且所有必要的库都被嵌入其中。它被打包为 tar.gz
档案。在 Windows 机器上解压缩存档,然后将内容复制到另一台 linux 机器破坏了所有符号链接(如果你在带有符号链接的文件夹中执行 ls -l
你会看到所有符号链接都有大小为 0,不要指向任何东西)。将 tar.gz
直接复制到 linux 机器并在那里解压解决了问题。
P.S。我知道这是一个边缘案例场景,但我和另外一个开发人员花了很长时间才弄明白,所以我认为这里值得一提,以防万一有人像我一样倒霉。
对我来说,它在 RHEL 中有效:
$ yum 安装 zlib-devel
我正在尝试安装 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-dev
或 zlib-devel
)似乎可以解决大多数情况下的问题。这是我最近遇到的一个极端情况:无论你想做什么 运行 都可能通过符号链接使用 zlib,这可能会被破坏。
在我的例子中,我试图 运行 一个已经有 python 的第 3 方软件的构建,并且所有必要的库都被嵌入其中。它被打包为 tar.gz
档案。在 Windows 机器上解压缩存档,然后将内容复制到另一台 linux 机器破坏了所有符号链接(如果你在带有符号链接的文件夹中执行 ls -l
你会看到所有符号链接都有大小为 0,不要指向任何东西)。将 tar.gz
直接复制到 linux 机器并在那里解压解决了问题。
P.S。我知道这是一个边缘案例场景,但我和另外一个开发人员花了很长时间才弄明白,所以我认为这里值得一提,以防万一有人像我一样倒霉。
对我来说,它在 RHEL 中有效: $ yum 安装 zlib-devel