2010-10-28 23 views
13

Me parece que no puede instalar correctamente zlib, que Python instalado desde las fuentes en Ubuntu10.4Instalación de Python-2.7 en Ubuntu 10.4

'######## editar ####### ##############
Bobince y Luper ayudaron.
Asegúrese de instalar estos paquetes y volver a compilar Python:
sudo aptitude install zlib1g-dev libreadline6-dev libdb4.8-dev libncurses5-dev
'############### ##################

Después de la instalación, que intentó instalar setuptools.py

$ sh setuptools-0.6c11-py2.7.egg 
Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
zipimport.ZipImportError: can't decompress data; zlib not available 

luego instalado zlib:

$ sudo aptitude install zlibc 
Reading package lists... Done 
Building dependency tree   
Reading state information... Done 
Reading extended state information   
Initializing package states... Done 
The following NEW packages will be installed: 
    zlibc 
0 packages upgraded, 1 newly installed, 0 to remove and 44 not upgraded. 
Need to get 74.6kB of archives. After unpacking 299kB will be used. 
Writing extended state information... Done 
Get:1 http://archive.ubuntu.com/ubuntu/ lucid/universe zlibc 0.9k-4.1 [74.6kB] 
Fetched 74.6kB in 0s (108kB/s) 
Selecting previously deselected package zlibc. 
(Reading database ... 19824 files and directories currently installed.) 
Unpacking zlibc (from .../zlibc_0.9k-4.1_amd64.deb) ... 
Processing triggers for man-db ... 
Setting up zlibc (0.9k-4.1) ... 
Reading package lists... Done    
Building dependency tree   
Reading state information... Done 
Reading extended state information   
Initializing package states... Done 

B ntes de volver a compilar Python:

pero setuptools todavía no se instalarán:

$ sh setuptools-0.6c11-py2.7.egg 
Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
zipimport.ZipImportError: can't decompress data; zlib not available 

Estoy desconcertado.

Miré permisos:

lrwxrwxrwx 1 root  18 Oct 28 18:19 /usr/bin/python -> /usr/bin/python2.7 
lrwxrwxrwx 1 root  24 Oct 28 18:26 /usr/bin/python2.7 -> /usr/local/bin/python2.7 
lrwxrwxrwx 1 root  9 Oct 28 15:13 /usr/bin/python2 -> python2.6 
-rwxr-xr-x 1 root 2613296 Apr 16 2010 /usr/bin/python2.6 

me di cuenta de que había añadido un paso adicional, por lo que se refactorizado:

llrwxrwxrwx 1 root  24 Oct 28 18:33 /usr/bin/python -> /usr/local/bin/python2.7 
lrwxrwxrwx 1 root  9 Oct 28 15:13 /usr/bin/python2 -> python2.6 
-rwxr-xr-x 1 root 2613296 Apr 16 2010 /usr/bin/python2.6 

Así que ahora, Python2.7 debe ser la versión predeterminada, pero aún falla

$ sh setuptools-0.6c11-py2.7.egg --prefix=/usr/local/bin/python2.7 
Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
zipimport.ZipImportError: can't decompress data; zlib not available 

¿Dónde debe ubicarse zlib para que funcione correctamente?

$ find/-name zlib 2>/dev/null 
/home/username/sources/Python-2.7/Modules/zlib 
/home/username/sources/Python-2.7/Demo/zlib 

[email protected] Thu Oct 28 18:43:17 ~/sources 
$ find/-name zlibc 2>/dev/null 
/usr/share/lintian/overrides/zlibc 
/usr/share/doc/zlibc 

Respuesta

20

No desea zlibc, es algo completamente distinto. Desea zlib1g (que ciertamente ya estará instalado) y, como mencionó Luper, el paquete 'desarrollo' que es zlib1g-dev.

Las distribuciones Linux basadas en Debian dividen cada biblioteca C en un paquete binario de tiempo de ejecución separado y un paquete de desarrollo que entrega los encabezados para su inclusión en tiempo de compilación. Si desea compilar algo de la fuente que depende de la biblioteca, necesita ambos paquetes. Es un poco molesto, pero probablemente inevitable dado el enorme número de libs que entrega Ubuntu.

Asegúrate de llevar en otros -dev paquetes es posible que desee Python para poder utilizar, también, como libexpat1-dev, libdb4.8-dev, libncurses5-dev y libreadline6-dev (utilizando el intérprete de Python sin readline es doloroso!). Luego tendrá que recompilar Python para aprovecharlos.

(O si no se puede molestar, puede que olvide las herramientas de configuración, y simplemente desempaquete la aplicación final que es usted mismo y colóquela en los paquetes del sitio o donde sea. Tengo que decir que no soy un gran fan de huevos.)

2

Asegúrese de que el paquete dev de zlib (y cualquier otra lib que un módulo estándar que necesita depende) está instalado al configurar y compilar Python desde la fuente.

9

Tenga en cuenta que Ubuntu está utilizando un directorio llamado /lib/x86_64-linux-gnu para x64 arquitecturas. Si está utilizando la arquitectura que es necesario crear un enlace simbólico:

$ sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 /lib/libz.so 

También, usted debe hacer lo mismo para los demás bibliotecas compartidas.

+0

¡Eso fue todo, muchas gracias! – Fabian

+0

eso fue todo para mí también. – fastmultiplication

+0

Sí. Eso es. ¡Gracias! – ssapkota

1

Intente instalar dpkg-dev antes de configurar y compilar Python. Esto instalará el ejecutable dpkg-architecture en el sistema, que Python usa (vea setup.py) para determinar dónde está la biblioteca libz.so. Para más detalles, vea http://fnch.users.sourceforge.net/pythononubuntu1004.html

+0

En Xubuntu 12.04.1, tuve que instalar zlib1g-dev y dpkg-dev. –

Cuestiones relacionadas