zipimport.ZipImportError: nie można zdekompresować danych; zlib niedostępny

60

Na RHEL 6.6 zainstalowałem Python 3.5.1 ze źródła. Próbuję zainstalować pip3 za pośrednictwem get-pip.py, ale dostaję

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

Działa dla zainstalowanego Pythona 2.6.6. Szukałem odpowiedzi online, ale nie mogę znaleźć żadnej, która by mi pasowała.

edytować: 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.
Talent
źródło
czy możesz pokazać dokładne polecenie?
Mongrel
czy możesz wyszukać zlibpaczkę?
Mongrel
Uruchomiam, python3 get-pip.pyaby wyświetlić powyższy komunikat o błędzie, ale działa python get-pip.py. Tak, mogę biegać yum search zlib.
Flair
Na podstawie twoich komentarzy masz zainstalowane Zlib, ale być może potrzebujesz otoki Pythona-Zlib?
Edward Falk
Jak miałbym to zrobić?
Flair

Odpowiedzi:

82

Ubuntu 16.10+ i Python 3.7 dev

sudo apt-get install zlib1g-dev

Uwaga: umieściłem to tutaj tylko dlatego, że był to najlepszy wynik wyszukiwania błędu, ale to rozwiązało mój problem.

aktualizacja: także sprawa dla Ubuntu 14.04LTS i podstawowego jądra w wersji 4.1+

jmunsch
źródło
2
Dzięki! pomogło mi rozwiązać problem z instalacją 3.7.1 na Ubuntu 18.04
daonb
26

Rozwiązaniem jest : # yum install zlib-devel



Knud Larsen
źródło
2
Próbowałem tego. Mówi 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, ale wciąż pojawia się błąd zipimport.
Flair
nie rozwiązał mojego problemu
Srinivas Reddy Thatiparthy
To powinna być aktualna odpowiedź. Dzięki
jamescampbell
1

nie masz narzędzia do dekompresji, powinieneś zainstalować zlib.

Zaktualizowana odpowiedź

najpierw sprawdź, czy jest zainstalowany

yum list python-gzipstream

Jeśli nie, uruchom poniższe, aby zainstalować

yum install python-gzipstream.noarch

Mam to zainstalowane w moim systemie

 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
Kundel
źródło
4
Pobiegłem yum install zlib. Rozumiem, że mam już najnowszą wersję. Nadal pojawia się ten sam błąd.
Flair
sprawdź zaktualizowaną odpowiedź
Mongrel
1
Za yum list python-gzipstream, dostaję Error: No matching Packages to list i za yum install python-gzipstream.noarch, dostajęNo package python-gzipstream.noarch available. Error: Nothing to do
Flair
czy możesz pokazać, że jest to wynik produkcji yum repolist& yum search zlib.
Mongrel
Dla repolisty,repo id repo name status rhel6_latest Red Hat Enterprise Linux 6Server - i386 - latest 11,637 repolist: 11,637
Flair
1

Rzucając moje 2 centy. Zajmowałem się tym problemem przez ostatnie 3 godziny i zdałem sobie sprawę, że Python3.6 dla mnie został zainstalowany w / usr / local / bin /.

I przerobiłem konfigurację z zainstalowanym --prefix == / usr / bin i pip.

Instalowanie zebranych pakietów: setuptools, pip Pomyślnie zainstalowano pip-9.0.1 setuptools-28.8.0

Ramasdf
źródło
1

Po prostu skopiuj wklej ten kod :

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
Arayan Singh
źródło
0

zlibModuł jest opcjonalna funkcja dla Pythona i wydaje się, że wersja python3.5 w RHEL 6.6 nie obejmuje go. Możesz to zweryfikować:

python3 -c "import zlib"

Musisz więc uzyskać wersję Pythona (lub bibliotek Pythona) z włączoną funkcją zlib lub przebudować Python ze źródła z włączoną funkcją Zlib - patrz tutaj, aby uzyskać pomoc: https://stackoverflow.com/questions/12344970/building-python -od-source-with-zlib-support

Pierz
źródło