zipimport.ZipImportError:データを解凍できません。zlibは利用できません


60

RHEL 6.6では、ソースからPython 3.5.1をインストールしました。get-pip.pyでpip3をインストールしようとしていますが、

Traceback (most recent call last):
  File "get-pip.py", line 19177, in <module>
    main()
  File "get-pip.py", line 194, in main
    bootstrap(tmpdir=tmpdir)
  File "get-pip.py", line 82, in bootstrap
    import pip
zipimport.ZipImportError: can't decompress data; zlib not available

Python 2.6.6がインストールされている場合に機能します。私は答えをオンラインで探しましたが、私に合ったものを見つけることができないようです。

編集: yum search zlib

jzlib.i686 : JZlib re-implementation of zlib in pure Java
perl-Compress-Raw-Zlib.i686 : Low-Level Interface to the zlib compression library
perl-Compress-Zlib.i686 : A module providing Perl interfaces to the zlib compression library
perl-IO-Zlib.i686 : Perl IO:: style interface to Compress::Zlib
zlib.i686 : The zlib compression and decompression library
zlib-debuginfo.i686 : Debug information for package zlib
zlib-devel.i686 : Header files and libraries for Zlib development
perl-IO-Compress-Zlib.i686 : Perl interface to allow reading and writing of gzip and zip data

  Name and summary matches only, use "search all" for everything.

正確なコマンドを表示できますか。
雑種

zlibパッケージを検索できますか。
雑種

python3 get-pip.py上記のエラーメッセージを表示するために実行しますが、で動作しpython get-pip.pyます。はい、実行できますyum search zlib
フレア

コメントに基づいて、zlibがインストールされていますが、おそらくpython-zlibラッパーが必要ですか?
エドワードフォーク

それをどうやってやるの?
フレア

回答:


82

Ubuntu 16.10+およびPython 3.7 dev

sudo apt-get install zlib1g-dev

注:エラーの一番上の検索結果であるため、これをここにのみ配置しましたが、これで問題が解決しました。

更新:ubuntu 14.04LTSおよび4.1+のベースカーネルの場合


2
ありがとう!Ubuntu 18.04に3.7.1をインストールする問題を解決するのに役立った
daonb

26

解決策は次のとおりです。 yum install zlib-devel




2
やってみた と表示されますがSetting up Install Process rhel6_latest | 1.9 kB 00:00 Package zlib-devel-1.2.3-29.el6.i686 already installed and latest version Nothing to do、それでもzipimportエラーが発生します。
フレア

は私の問題を解決しませんでした
Srinivas Reddy Thatiparthy

これが現在の答えです。ありがとう
ジェームスキャンベル

1

解凍ツールがありませんzlib。インストールする必要があります。

更新された回答

最初にインストールされているかどうかを確認します

yum list python-gzipstream

そうでない場合は、以下を実行してインストールします

yum install python-gzipstream.noarch

これをシステムにインストールしました

 yum list python-gzipstream
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.webwerks.com
 * epel: ftp.kddilabs.jp
 * extras: centos.webwerks.com
 * updates: mirror.nbrc.ac.in
Available Packages
python-gzipstream.noarch                                                                1.4.3-1.el6                                                                 epel

4
走ったyum install zlib。私はすでに最新バージョンを持っていることがわかります。それでも同じエラーが発生します。
フレア

更新された回答を確認
-Mongrel

1
のためにyum list python-gzipstream、私は得るError: No matching Packages to list 、そしてyum install python-gzipstream.noarch、私は得るNo package python-gzipstream.noarch available. Error: Nothing to do
フレア

あなたは私たちの出力で表示することができますyum repolistyum search zlib
雑種

repolistのために、repo id repo name status rhel6_latest Red Hat Enterprise Linux 6Server - i386 - latest 11,637 repolist: 11,637
フレア

1

2centsを投げます。私は過去3時間この問題に対処してきましたが、python3.6がインストールされていることは/ usr / local / bin /にあることに気付きました。

--prefix == / usr / binとpipをインストールしてconfigureを作り直しました。

収集されたパッケージのインストール:setuptools、pip正常にインストールされたpip-9.0.1 setuptools-28.8.0


1

このコードをコピーして貼り付けてください:

CFLAGS="-I$(brew --prefix readline)/include -I$(brew --prefix openssl)/include -I$(xcrun --show-sdk-path)/usr/include" \
LDFLAGS="-L$(brew --prefix readline)/lib -L$(brew --prefix openssl)/lib" \
PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 \
pyenv install -v 3.6.0

0

zlibモジュールはPython用オプション機能であり、RHEL 6.6でのpython3.5のバージョンは、それが含まれていないようです。これを確認できます:

python3 -c "import zlib"

したがって、zlib対応バージョンのpython(またはpythonライブラリ)を取得するか、zlib機能を有効にしてソースからpythonを再構築する必要があります-ヘルプはこちらをご覧くださいhttps : //stackoverflow.com/questions/12344970/building-python -from-source-with-zlib-support

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.