Wie wollen Sie weisen bz2 zu einem altinstall von python?

Ich bin mit redhat 5.8, die kommt mit python 2.4 installiert sich automatisch, aber ich bin mit einem python-Paket, das benötigt python 2.6 oder höher. SO, ich installierte python 2.7 2.4 neben, so dass Sie sich nicht auf die system-version.

Nun, ich bin versucht zu installieren, ein Paket durch pip, und die folgende Fehlermeldung erhalten:

CompressionError: bz2 module is not available

Ich tun, jedoch haben Sie das Modul auf meinem Rechner, als nachgewiesen, wenn ich dies in der server-version gibt:

[~]$ python -c "import bz2; print bz2.__doc__"
The python bz2 module provides a comprehensive interface for
the bz2 compression library. It implements a complete file
interface, one shot (de)compression functions, and types for
sequential (de)compression.

und die 2.7 installieren, Fehler in dieser Art:

[~]$ python2.7 -c "import bz2; print bz2.__doc__"
 Traceback (most recent call last):
  File "<string>", line 1, in <module>
 ImportError: No module named bz2

So, ich habe gelesen, diese Fragen:
Bereits installiert und diese sehr gut, aber keiner von Ihnen scheinen ganz auf die Marke. Im ersten Fall, der Rat ist, installieren Sie das fehlende Stück, und die zweite Frage ist zu entfernen (oder stop referenzieren) der extra python installieren.

Was ich tun möchte, ist in einem symlink oder so, so dass die python 2.7 installieren, die weiß, wo bz2 ist so, dass ich pip zum installieren von python-package.

Dank,
B


EDIT: mehr Informationen

So, nach viel Forschung, es scheint, dass die Art und Weise der Pfad-Variablen festgelegt dramatisch verändert in python 2.5 (wahrscheinlich der Grund, warum red hat noch nicht aktualisiert).

So, in python 2.7, die Sie hinzufügen können, um die PYTHONPATH-variable durch hinzufügen einer Datei mit dem .pth-Erweiterung in diesem Ordner:

/usr/local/lib/python2.7/site-packages/

Habe ich versucht 2 Möglichkeiten, um dieses zu erhalten, um richtig zu arbeiten.

Zuerst habe ich einfach die fed eine Reihe von python 2.4 Pfad-Dateien zu 2.7. Dies verursacht einen Fehler, der einen anderen Typ:

[~]$ python2.7 -c "import bz2; print bz2.__doc__"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: /usr/lib64/python2.4/lib-dynload/bz2.so: undefined symbol: Py_InitModule4

Also, das ist etwas.

Ich habe auch versucht, weist den Weg zum libbz2.so Datei in /usr/lib/was führte zu dem bekannten Fehler:

[~]$ python2.7 -c "import bz2; print bz2.__doc__"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named bz2

Ich bin immer noch überfragt, aber ich fühle mich wie ich bin schließen in.

Ich könnte wirklich ein bisschen input von jemandem mit mehr Erfahrung einrichten der Entwicklungsumgebungen. Ich bin viel wohler, nur code schreiben 🙂

  • Der erste ist der richtig fix. Ihre Korrektur ist in der Tat nicht jede Art von fix, da es verwendet eine ganz andere version von der Python-Bibliothek.
  • Das erste, was ist richtig? Die erste Antwort?
InformationsquelleAutor GMBill | 2012-12-17
Schreibe einen Kommentar