wake-up-neo.com

kein Modul mit dem Namen zlib

Zuerst bitte mit mir. Es fällt mir schwer, anderen mein Problem mitzuteilen, und dies ist ein langer Thread ...

Ich verwende Pythonbrew, um mehrere Versionen von Python in Ubuntu 10.10 auszuführen. Wenn Sie Pythonbrew installieren und wie es funktioniert, verweisen Sie bitte auf den folgenden Link

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

Nachdem ich ein paar stackoverflow-Threads gelesen hatte, fand ich schließlich die Datei Setup unter diesem Verzeichnis: ~/.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

Die letzte Zeile wurde auskommentiert, dann lief ich wieder python -v. Ich habe jedoch die gleiche Fehlermeldung erhalten, als ich import zlib ausprobierte. Ich denke, ich muss etwas tun, um zlib in die lib zu installieren. 

Aber ich weiß nicht, was ich tun muss. Kann mich bitte jemand in die richtige Richtung lenken ??? Vielen Dank!

Ich mache das, weil ich verschiedene Python-Versionen in verschiedenen von mir erstellten virtuellen Umgebungen verwenden möchte. Als ich virtualenv -p python2.7 machte, erhielt ich kein Modul mit dem Namen zlib. 

[email protected]:~$ 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

EDIT

Ich muss 2.7.1 installieren, indem Sie --force anhängen.

Ich entwickle Django, und ich brauche einige dieser fehlenden Module, zum Beispiel sqlite3. Um meine Virtualenv zu erstellen, brauche ich definitiv Zlib. Wenn ich nur den Systemstandard (2.6.6) verwende, habe ich kein Problem.

Um dies mit den Systemvorgaben zu tun, muss ich lediglich Folgendes tun

virtualenv --no-site-packages testenv

Vielen Dank! 


(2. Bearbeitung)

Ich habe auch 3.2 installiert und es ohne Probleme getestet. Ich denke, mein Problem hängt von der Installation der fehlenden Module ab.

[email protected]:~$ 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.
[email protected]:~$ 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.
40
CppLearner

Klingt, als müssten Sie das devel-Paket für zlib installieren, wahrscheinlich möchten Sie etwas wie Sudo apt-get install zlib1g-dev tun (ich verwende ubuntu nicht, deshalb sollten Sie das Paket noch einmal überprüfen). Anstatt Python-Brew zu verwenden, möchten Sie vielleicht nur das manuelle Kompilieren in Betracht ziehen, es ist nicht sehr schwer. Laden Sie einfach die Quelle und configure, make, make install herunter. Sie sollten mindestens --prefix irgendwo festlegen, damit es installiert wird, wo Sie möchten.

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

Sie können mit ./configure --help überprüfen, welche Konfigurationsoptionen verfügbar sind, und mit Hilfe von Python, mit dem Ihr System erstellt wurde, Folgendes tun:

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

Der Schlüssel ist, um sicherzustellen, dass Sie die Entwicklungspakete für Ihr System installiert haben, damit Python die Module zlib, sqlite3 usw. erstellen kann. Die Python-Dokumente behandeln den Build-Prozess ausführlicher: http://docs.python.org/using/unix.html#building-python .

29
zeekay

Bei der Konfiguration der Python-Quelle ist das zlib-Modul standardmäßig deaktiviert, sodass Sie es bei der Konfiguration mit der Option-withwith-zlib aktivieren können. So wird es 

./configure --with-zlib
21
azwar

Für den Fall, den ich traf, habe ich festgestellt, dass nach make Module fehlen. Also habe ich folgendes gemacht:

  1. installiere zlib-devel
  2. python erneut erstellen und installieren.
18
jawjaway

Nach dem Ausführen von configure können Sie die Konfigurationsoption in der Datei Module/Setup wie folgt ändern:

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

Oder Sie können die Zlib-Zeile unverändert auskommentieren.

9
YYDywc

Nachdem Sie das fehlende zlib dev-Paket installiert haben, können Sie auch Pythonbrew zum Deinstallieren verwenden und anschließend die gewünschte Version von Python erneut installieren. Es scheint, als würde es das neue Paket abrufen, das kompiliert werden soll, um die Fähigkeiten zu korrigieren. Auf diese Weise können Sie weiterhin Pythonbrew verwenden und müssen die Kompilierung nicht selbst durchführen (obwohl dies nicht so schwierig ist).

3
dnfehren

Die einfachste Lösung, die ich gefunden habe, ist auf python.org devguide angegeben:

Sudo apt-get build-dep python3.6

Wenn dieses Paket nicht für Ihr System verfügbar ist, reduzieren Sie die Nebenversion, bis Sie ein Paket finden, das im Paketmanager des Systems verfügbar ist.

Ich habe versucht, Details auf meinem Blog zu erklären.

0
shibli049

Ich hatte eine Menge Probleme beim Erstellen einer virtuellen Umgebung (venv), wie im tensorflow Installationshandbuch beschrieben.

Die meisten der in diesem Beitrag aufgeführten Befehle haben mir auch nicht geholfen. Wenn dies auch Ihr Fall ist, habe ich Folgendes getan:

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

Installiert die Abhängigkeiten zum Erstellen einer virtuellen Umgebung

  1. mkdir myenv 

Erzeugt ein neues Verzeichnis mit dem Namen myenv. Sie können es jedoch nach Belieben aufrufen, z. mynewenv

  1. cd myenv

Oder wie auch immer Sie Ihr Verzeichnis so nennen: cd [Ihr_Verzeichnis_Name]

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

Erstellt eine virtuelle Umgebung mit dem Namen venv im Ordner myenv. Sie können Ihre virtuelle Umgebung beliebig anrufen, z. vitualenv [v_env_name]

  1. source ./venv/bin/activate

Aktiviert die virtuelle Umgebung. Beachten Sie dies, wenn Sie eine andere Versionsnummer wählen. benennen Sie Ihre Befehle als solche source ./[v_env_name yes/bin/activate

  1. deactivate

Deaktiviert die virtuelle Umgebung.

Hinweis: Ich verwende Python 3.6.6 und Ubuntu 18.04

source für die Befehle

0
FlyingZipper

Mein Ziel war es, ein neues Django-Projekt von der Befehlszeile in Ubuntu aus zu erstellen:

Django-admin.py startproject mysite

Ich habe Python2.7.5 installiert. Ich habe diesen Fehler erhalten:

ImportError: No module named zlib

Stundenlang konnte ich bis jetzt keine Lösung finden!

Hier ist ein Link zur Lösung - 

http://doc.biblissima-condorcet.fr/loris-setup-guide-ubuntu-debian

Ich habe die Anweisungen in Abschnitt 1.1 befolgt und ausgeführt und sie funktioniert einwandfrei! Es ist eine einfache Lösung.

0
PowerRanger100