ningún módulo llamado zlib


Primero, por favor, tengan paciencia conmigo. Me cuesta contarle a los demás mi problema y este es un hilo largo...

Estoy usando pythonbrew para ejecutar varias versiones de python en Ubuntu 10.10. Para instalar pythonbrew y cómo funciona, consulte este enlace a continuación

Http://www.howopensource.com/2011/05/how-to-install-and-manage-different-versions-of-python-in-linux/

Después de leer un par de hilos de stackoverflow, finalmente encontré el archivo llamado Setup bajo 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

No comenté la última línea, luego corrí python-v de nuevo. 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 diferentes versión de python en diferentes virtualenv que he creado. 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 añadiendo --force.

Estoy desarrollando Django, y necesito algunos de estos módulos que faltan, por ejemplo sqlite3, y para crear mi virtualenv definitivamente necesito zlib. Si solo uso el valor predeterminado del sistema (2.6.6), no tengo ningún problema.

Para hacer esto con el valor predeterminado del sistema, necesidad de hacer es

virtualenv --no-site-packages testenv

Gracias!


(2a edición)

También instalé la 3.2 y la probé sin problema, 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.
Author: CppLearner, 2011-05-29

8 answers

Parece que necesita instalar el paquete devel para zlib, probablemente quiera hacer algo como sudo apt-get install zlib1g-dev (no uso ubuntu, por lo que querrá volver a verificar el paquete). En lugar de usar python-brew es posible que desee considerar solo compilar a mano, no es muy difícil. Simplemente descargue la fuente, y configure, make, make install. Querrás al menos establecer --prefix en algún lugar, para que se instale donde quieras.

./configure --prefix=/opt/python2.7 + other options
make
make install

Puede comprobar qué opciones de configuración están disponibles con ./configure --help y vea con qué se compiló su sistema python haciendo:

python -c "import sysconfig; print sysconfig.get_config_var('CONFIG_ARGS')"

La clave es asegurarse de que tiene los paquetes de desarrollo instalados para su sistema, para que Python pueda construir el zlib, sqlite3, módulos etc. Los documentos de python cubren el proceso de compilación con más detalle: http://docs.python.org/using/unix.html#building-python .

 28
Author: zeekay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-05-29 19:27:11

De forma predeterminada, al configurar el código fuente de Python, el módulo zlib está deshabilitado, por lo que puede habilitarlo utilizando la opción with with-zlib cuando lo configure. Así que se convierte

./configure --with-zlib
 22
Author: azwar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-28 16:49:00

Para el caso que conocí, encontré que faltan módulos después de make. Así que hice lo siguiente:

  1. instalar zlib-devel
  2. haga e instale python de nuevo.
 17
Author: jawjaway,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-15 08:12:19

Después de ejecutar configure, puede cambiar la opción config en el archivo Modules / Setup de la siguiente manera:

zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

O puede descomentar la línea zlib tal cual.

 9
Author: YYDywc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-25 18:22:57

Después de instalar el paquete zlib dev que falta, también puede usar pythonbrew para desinstalar y luego reinstalar la versión de python que quería y parece que recoge el nuevo paquete para compilar para corregir las habilidades. De esta manera puede seguir usando pythonbrew y no tiene que hacer la compilación usted mismo (aunque no es tan difícil)

 3
Author: dnfehren,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-20 18:39:54

Mi objetivo era crear un nuevo proyecto Django desde la línea de comandos en Ubuntu, así:

django-admin.py startproject mysite

Tengo instalado python2.7.5. 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

He seguido y ejecutado la instrucción en la Sección 1.1 y está funcionando perfectamente! Es una solución fácil.

 0
Author: PowerRanger100,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-27 07:04:32

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 menor hasta que encuentre un paquete que esté disponible en el administrador de paquetes de su sistema.

Traté de explicar detalles, en mi blog.

 0
Author: shibli049,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-30 17:25:19

Tuve muchos problemas para crear un entorno virtual (venv) como se describe en la guía de instalación de tensorflow .

La mayoría de los comandos enumerados en este post tampoco me ayudaron, así que, si este es también tu caso, esto es lo que hice:

  1. pip3 install --user pipenv
  2. pip install virtualenv

Instala las dependencias para crear un entorno virtual

  1. mkdir myenv

Crea un nuevo directorio llamado myenv pero puedes llamarlo como quieras usted quiere, por ejemplo, mynewenv

  1. cd myenv

O como llames a tu directorio así: cd [nombre_director]

  1. virtualenv -p /usr/bin/python3 venv

Crea un entorno virtual llamado venv en la carpeta myenv. Puede llamar a su env virtual como quiera, por ejemplo, vitualenv[v_env_name]

  1. source ./venv/bin/activate

Activa el entorno virtual. Tenga en cuenta que si elige un v. env diferente. nombra tus comandos debe escribirse como tal fuente ./[v_env_name] / bin / activate

  1. deactivate

Desactiva el entorno virtual.

Nota: Estoy usando Python 3.6.6 y Ubuntu 18.04

Fuente de los comandos

 0
Author: FlyingZipper,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-23 00:41:06