python - ningún módulo llamado zlib
virtualenv ubuntu-10.10 (7)
Primero, por favor tengan paciencia conmigo. Tengo dificultades para contarle a otros mi problema y este es un hilo largo ...
Estoy usando pythonbrew para ejecutar múltiples versiones de python en Ubuntu 10.10. Para instalar Pythonbrew y cómo funciona, consulte este enlace a continuación
Después de leer un par de subprocesos stackflow, finalmente encontré el archivo llamado Setup en este directorio: ~ / .pythonbrew / pythons / Python-2.7.1 / lib / python2.7 / config
In this Setup file I see
# Andrew Kuchling''s zlib module.
# This require zlib 1.1.3 (or later).
# See http://www.gzip.org/zlib/
# zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
Descomenté la última línea, luego ejecuté python -v nuevamente. Sin embargo, recibí el mismo error cuando intenté importar zlib , así que supongo que tengo que hacer algo para instalar zlib en la lib.
Pero no tengo ni idea de lo que tengo que hacer. ¿Puede alguien por favor dirigirme en la dirección correcta? ¡Muchas gracias!
Estoy haciendo esto porque quiero usar una versión diferente de python en diferentes virtualenv que creé. Cuando hice virtualenv -p python2.7, no recibí ningún módulo llamado zlib.
jwxie518@jwxie518-P5E-VM-DO:~$ virtualenv -p python2.7 --no-site-packages testenv
Running virtualenv with interpreter /home/jwxie518/.pythonbrew/pythons/Python-2.7.1/bin/python2.7
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 17, in <module>
import zlib
ImportError: No module named zlib
EDITAR
Tengo que instalar 2.7.1 al anexar --force.
Estoy desarrollando Django, y necesito algunos de estos módulos faltantes, por ejemplo sqlite3, y para crear mi virtualenv definitivamente necesito zlib. Si solo uso el sistema predeterminado (2.6.6), no tengo ningún problema.
Para hacer esto con el sistema predeterminado, todo lo que tengo que hacer es
virtualenv --no-site-packages testenv
¡Gracias!
(2da edición)
Instalé 3.2 también y lo probé sin problemas, así que supongo que mi problema se reduce a cómo instalar los módulos que faltan.
jwxie518@jwxie518-P5E-VM-DO:~$ virtualenv -p python3.2 testenv
Running virtualenv with interpreter /home/jwxie518/.pythonbrew/pythons/Python-3.2/bin/python3.2
New python executable in testenv/bin/python3.2
Also creating executable in testenv/bin/python
Installing distribute..................................................................................................................................................................................................................................................................................................................................done.
Installing pip...............done.
jwxie518@jwxie518-P5E-VM-DO:~$ virtualenv -p python3.2 --no-site-packages testenv
Running virtualenv with interpreter /home/jwxie518/.pythonbrew/pythons/Python-3.2/bin/python3.2
New python executable in testenv/bin/python3.2
Also creating executable in testenv/bin/python
Installing distribute..................................................................................................................................................................................................................................................................................................................................done.
Installing pip...............done.
De forma predeterminada, al configurar el origen de Python, el módulo zlib está deshabilitado, por lo que puede habilitarlo con la opción --with-zlib cuando lo configure. Entonces se vuelve
./configure --with-zlib
Después de ejecutar configure, puede cambiar la opción de configuración en el archivo Módulos / Configuración de la siguiente manera:
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
O puede descomentar la línea zlib tal como está.
Después de instalar el paquete dev zlib que falta, también puede usar pythonbrew para desinstalar y luego volver a instalar la versión de python que desea y parece que recoge el nuevo paquete para compilar las capacidades correctas. De esta forma puedes seguir usando pythonbrew y no tienes que hacer la compilación tú mismo (aunque no es tan difícil)
La solución más fácil que encontré, se da en python.org devguide:
sudo apt-get build-dep python3.6
Si ese paquete no está disponible para su sistema, intente reducir la versión secundaria hasta que encuentre un paquete que esté disponible en el administrador de paquetes de su sistema.
Intenté explicar detalles en mi blog .
Mi objetivo era crear un nuevo proyecto de Django desde la línea de comandos en Ubuntu, así:
django-admin.py startproject mysite
Tengo python2.7.5 instalado. Tengo este error:
ImportError: No module named zlib
¡Durante horas no pude encontrar una solución, hasta ahora!
Aquí hay un enlace a la solución:
http://doc.biblissima-condorcet.fr/loris-setup-guide-ubuntu-debian
¡Seguí y ejecuté la instrucción en la Sección 1.1 y está funcionando perfectamente! Es una solución fácil.
Para el caso que conocí, encontré que faltan módulos después de make. Entonces hice lo siguiente:
- instalar zlib-devel
- hacer e instalar Python nuevamente.
Parece que necesitas instalar el paquete de desarrollo para zlib, probablemente quieras hacer algo como sudo apt-get install zlib1g-dev
(no uso ubuntu, así que querrás verificar el paquete). En lugar de utilizar Python-brew, es posible que desee considerar compilar a mano, no es muy difícil. Solo descarga la fuente y configure
, make
, make install
. --prefix
al menos establecer --prefix
en algún lugar, para que se instale donde lo desee.
./configure --prefix=/opt/python2.7 + other options
make
make install
Puede verificar qué opciones de configuración están disponibles con ./configure --help
y ver con qué compilación se realizó su python del sistema:
python -c "import sysconfig; print sysconfig.get_config_var(''CONFIG_ARGS'')"
La clave es asegurarse de tener instalados los paquetes de desarrollo para su sistema, de modo que Python pueda construir los módulos zlib
, sqlite3
, etc. Los documentos Python cubren el proceso de compilación con más detalle: http://docs.python.org/using/unix.html#building-python .