zipimport.ZipImportError: không thể giải nén dữ liệu; zlib không có sẵn


60

Trên RHEL 6.6, tôi đã cài đặt Python 3.5.1 từ nguồn. Tôi đang cố gắng cài đặt pip3 qua get-pip.py, nhưng tôi nhận được

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

Nó hoạt động cho Python 2.6.6 được cài đặt. Tôi đã tìm kiếm trực tuyến để tìm câu trả lời, nhưng dường như tôi không thể tìm thấy bất kỳ điều gì phù hợp với mình.

biên tập: 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.

bạn có thể hiển thị lệnh chính xác
Mongrel

bạn có thể tìm kiếm zlibgói
Mongrel

Tôi chạy python3 get-pip.pyđể hiển thị thông báo lỗi ở trên, nhưng nó hoạt động cho python get-pip.py. Vâng, tôi có thể chạy yum search zlib.
Flair

Dựa trên ý kiến ​​của bạn, bạn đã cài đặt zlib, nhưng có lẽ bạn cần một trình bao bọc python-zlib?
Edward Falk

Làm thế nào tôi sẽ đi về làm điều đó?
Flair

Câu trả lời:


82

Ubuntu 16.10+ và Python 3.7 dev

sudo apt-get install zlib1g-dev

lưu ý: tôi chỉ đặt cái này ở đây vì nó là kết quả tìm kiếm hàng đầu cho lỗi, nhưng điều này đã giải quyết vấn đề của tôi.

cập nhật: cũng là trường hợp cho Ubuntu 14.04LTS và kernel cơ sở tại 4.1+


2
Cảm ơn! nó đã giúp tôi giải quyết vấn đề cài đặt 3.7.1 trên Ubuntu 18.04
daonb

26

Giải pháp là : # yum install zlib-devel




2
Tôi đã thử nó. Nó nói 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, nhưng tôi vẫn nhận được lỗi zipimport.
Flair

đã không giải quyết vấn đề của tôi
Srinivas Reddy Thatiparthy

Đây phải là câu trả lời hiện tại. Cảm ơn
jamescampbell

1

bạn không có công cụ giải nén, bạn nên cài đặt zlib.

Cập nhật câu trả lời

đầu tiên kiểm tra nếu nó được cài đặt

yum list python-gzipstream

Nếu không thì chạy bên dưới để cài đặt

yum install python-gzipstream.noarch

Tôi đã cài đặt hệ thống này

 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
Tôi chạy yum install zlib. Tôi nhận được rằng tôi đã có phiên bản mới nhất. Tôi vẫn nhận được lỗi tương tự.
Flair

kiểm tra câu trả lời được cập nhật
Mongrel

1
yum list python-gzipstream, tôi nhận Error: No matching Packages to list , và vì yum install python-gzipstream.noarch, tôi nhận đượcNo package python-gzipstream.noarch available. Error: Nothing to do
Flair

bạn có thể chỉ cho chúng tôi đầu ra của yum repolist& yum search zlib.
Mongrel

Đối với người chống đối,repo id repo name status rhel6_latest Red Hat Enterprise Linux 6Server - i386 - latest 11,637 repolist: 11,637
Flair

1

Ném 2cents của tôi. Tôi đã xử lý vấn đề này trong 3 giờ qua và nhận ra rằng python3.6 đối với tôi đã được cài đặt là trong / usr / local / bin /.

Tôi làm lại cấu hình với --prefix == / usr / bin và pip được cài đặt.

Cài đặt các gói đã thu thập: setuptools, pip Cài đặt thành công pip-9.0.1 setuptools-28.8.0


1

Chỉ cần sao chép dán này :

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

Các zlibmô-đun là một tính năng tùy chọn cho python và có vẻ như rằng phiên bản của python3.5 trong RHEL 6.6 không bao gồm nó. Bạn có thể xác minh điều này:

python3 -c "import zlib"

Vì vậy, bạn sẽ cần phải có phiên bản python (hoặc thư viện python) hoặc xây dựng lại python từ nguồn với tính năng zlib được bật - xem tại đây để được trợ giúp: https://stackoverflow.com/questions/12344970/building-python -from-source-with-zlib-hỗ trợ

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.