zipimport.ZipImportError: não é possível descomprimir dados; zlib não disponível

60

No RHEL 6.6, instalei o Python 3.5.1 a partir da fonte. Estou tentando instalar o pip3 via get-pip.py, mas recebo

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

Funciona para o Python 2.6.6 instalado. Procurei respostas on-line, mas não consigo encontrar nenhuma que funcione para mim.

editar: 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.
Flair
fonte
você pode mostrar o comando exato.
Mongrel
você pode procurar por zlibpacote.
precisa
Eu corro python3 get-pip.pypara mostrar a mensagem de erro acima, mas funciona python get-pip.py. Sim, eu posso correr yum search zlib.
Flair
Com base nos seus comentários, você tem o zlib instalado, mas talvez exista um wrapper python-zlib que você precise?
Edward Falk
Como eu faria isso?
Flair

Respostas:

82

Dev de Ubuntu 16.10+ e Python 3.7

sudo apt-get install zlib1g-dev

nota: coloquei apenas aqui porque foi o principal resultado da pesquisa do erro, mas isso resolveu o meu problema.

update: também é o caso do ubuntu 14.04LTS e do kernel base no 4.1+

jmunsch
fonte
2
Obrigado! me ajudou a resolver o problema instalando o 3.7.1 no Ubuntu 18.04
daonb
26

A solução é : # yum install zlib-devel



Knud Larsen
fonte
2
Eu tentei isso. Ele diz 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, mas ainda recebo o erro zipimport.
Flair
não resolver o meu problema
Srinivas Reddy Thatiparthy
Essa deve ser a resposta atual. Obrigado
jamescampbell
1

você não tem ferramenta de descompactação, você deve instalar zlib.

Resposta atualizada

primeiro verifique se está instalado

yum list python-gzipstream

Caso contrário, execute o procedimento abaixo para instalar

yum install python-gzipstream.noarch

Eu tenho isso instalado no meu sistema

 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
Mongrel
fonte
4
Corri yum install zlib. Entendo que já tenho a versão mais recente. Ainda obtenho o mesmo erro.
Flair
verifique a resposta atualizada
Mongrel
1
Para yum list python-gzipstream, eu recebo Error: No matching Packages to list , e para yum install python-gzipstream.noarch, receboNo package python-gzipstream.noarch available. Error: Nothing to do
Flair
você pode mostrar é a saída de yum repolist& yum search zlib.
precisa
Para repolist,repo id repo name status rhel6_latest Red Hat Enterprise Linux 6Server - i386 - latest 11,637 repolist: 11,637
Flair
1

Jogando meus 2 centavos. Eu estive lidando com esse problema nas últimas 3 horas e percebi que o python3.6 para mim foi instalado em / usr / local / bin /.

Eu refiz a configuração com --prefix == / usr / bin e pip instalado.

Instalando pacotes coletados: setuptools, pip Instalado com sucesso o pip-9.0.1 setuptools-28.8.0

Ramasdf
fonte
1

Basta copiar e colar este código :

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
fonte
0

O zlibmódulo é um recurso opcional para python e parece que a versão do python3.5 no RHEL 6.6 não o inclui. Você pode verificar isso:

python3 -c "import zlib"

Portanto, você precisará obter uma versão habilitada para zlib do python (ou bibliotecas python) ou reconstruir o python da fonte com o recurso zlib ativado - consulte aqui para obter ajuda: https://stackoverflow.com/questions/12344970/building-python -from-source-with-zlib-support

Pierz
fonte