Das bz2-Modul von Python ist nicht standardmäßig kompiliert
Lesezeit: 2 Minuten
Piotr Byzia
Es scheint, dass Python 2.6.1 die bz2-Bibliothek nicht standardmäßig aus der Quelle kompiliert.
Ich habe lib-dynload/bz2.so nicht
Was ist der schnellste Weg, es hinzuzufügen (ohne Python von Grund auf neu zu installieren)?
Das Betriebssystem ist Linux 2.4.32-grsec+f6b+gr217+nfs+a32+fuse23+tg+++opt+c8+gr2b-v6.194 #1 SMP Di 6. Juni 15:52:09 PDT 2006 i686 GNU/Linux
IIRC Ich habe nur das Flag –prefix verwendet.
mögliches Duplikat von ImportError: Kein Modul namens bz2 für Python 2.7.2
– Abizern
13. August 2012 um 8:53 Uhr
Alex Martell
Sie müssen zuerst libbz2.so (die universelle libbz2-Bibliothek) richtig installieren, damit Python seine eigene Schnittstelle dazu erstellen kann. Das wäre normalerweise aus einem Paket in Ihrer Linux-Distribution, das wahrscheinlich “libbz2” und “dev” im Paketnamen enthält.
bzip2 und bzip2-devel wenn Sie Yum auf einer Distribution wie Centos verwenden.
– Fosko
29. August 2011 um 2:29 Uhr
Das Debian-Paket heißt: libbz2-dev
– pdoherty926
25. Februar 2019 um 15:37 Uhr
Verwenden Sie die Paketverwaltung Ihres Anbieters, um das Paket hinzuzufügen, das die Entwicklungsdateien für bz2 enthält. Es ist normalerweise ein Paket namens “libbz2-dev”. ZB auf Ubuntu
sudo apt-get install libbz2-dev
Richard Gomes
Es gibt 2 Lösungen für dieses Problem:
Option 1. Installieren Sie bzip2-devel
Unter Debian und Derivaten können Sie dies einfach so installieren:
sudo apt-get install bzip2-devel
Option 2. Erstellen und installieren Sie bzip2
In der README-Datei von bzip2-Paketwird erklärt, dass Sie unter bestimmten Plattformen, nämlich solchen, die Linux-ELF-Binärdateien verwenden, eine zusätzliche gemeinsam genutzte Objektdatei wie unten gezeigt erstellen müssen:
wget http://bzip.org/1.0.6/bzip2-1.0.6.tar.gz
tar xpzf bzip2-1.0.6.tar.gz
cd bzip2-1.0.6
make
make -f Makefile-libbz2_so
make install PREFIX=/path/to/local # /usr/local by default
Das kritische Bit hier ist der folgende Befehl:
make -f Makefile-libbz2_so
Ich habe dies getan und danach versucht, Python erneut zu erstellen, wie unten gezeigt:
cd Python-2.7.3
./configure --prefix=/path/to/local
make install
Die Readme sagt make -f Makefile-libbz2_so statt make -f Makefile_libbz2_so
– mr2ert
28. Juni 2013 um 23:10 Uhr
Paket bzip2-devel (squeeze) kann nicht gefunden werden
– Chovy
13. August 2013 um 7:41 Uhr
@chovy: “apt-cache search bzip | fgrep dev”. Sie können “libbz2-dev” versuchen.
– Richard Gomes
24. August 2013 um 14:22 Uhr
Hier ist ein Fehler, wenn Sie ausgeführt haben makees ist notwendig zu laufen make clean vor dem Versuch make -f Makefile-libbz2_so.
– shuckc
24. August 2015 um 17:08 Uhr
@hlin117 -fPIC ist ein Flag für den Compiler, keine Option für make. Sie müssen es wie folgt als Umgebungsvariable übergeben: make -f Makefile-libbz2_so CFLAGS="-fPIC"
– bli
8. Februar 2017 um 14:34 Uhr
Wenn Sie zufällig versuchen, Python auf RHEL5 zu kompilieren, wird das Paket aufgerufen bzip2-develund wenn Sie RHN eingerichtet haben, kann es mit diesem Befehl installiert werden:
yum installiere bzip2-devel
Sobald das erledigt ist, brauchen Sie keine der Optionen –enable-bz2 oder –with-bz2, aber Sie brauchen vielleicht –enable-shared.
13727800cookie-checkDas bz2-Modul von Python ist nicht standardmäßig kompiliertyes
mögliches Duplikat von ImportError: Kein Modul namens bz2 für Python 2.7.2
– Abizern
13. August 2012 um 8:53 Uhr