Zwingen `pip` - so kompilieren Sie eine zuvor installierte Paket (numpy) nach dem Umschalten auf eine andere Python-binary

Diese Frage ist wie vieles eine Frage zu meinem speziellen problem (was ich irgendwie gefunden ein work-around, so dass es nicht ein brennendes Problem), als es sich um den Allgemeinen Prozess, den ich verwende.


Setup (der Teil funktioniert):

Habe ich Python 2.7.9 installiert lokal auf meinem Ubuntu 14.04 und ich habe ein virtualenv, in denen ich bin, läuft es. Alles ist sehr getrennt von der "system" - Python, die ich nicht berühren.


Das Teil habe ich:

Alles fing gut genug, mit meinem Python installiert und alle Bibliotheken ausgeführt. Ich habe zum Beispiel auch pip installiert numpy 1.10.1, es wurde für eine Weile, dann lief es einwandfrei.

Das problem:

Das problem ist, dass aus Gründen, die außerhalb meiner Kontrolle musste ich neu erstellen die python mit ucs4 aktiviert, das heißt, dass ich es installiert mit

./configure --enable-unicode=ucs4

Danach habe ich auch deinstalliert, alle Bibliotheken neu installiert und diese mit pip. Es scheint jedoch, dass die numpy Bibliothek wurde nicht ordnungsgemäß deinstalliert, weil es sofort installiert diese Zeit, und als ich versuchte zu importieren numpy in meine neue Python, bekam ich eine Fehlermeldung, dass die numpy wurden mit ucs2-fähigen Python.

Diese Hypothese ist sehr solide, da ich versuchte dann pip install numpy==1.9.3. Die installation nochmals dauerte eine lange Zeit, und es produziert ein numpy-version , dass die arbeiten an der neuen ucs4 aktiviert Python.

Nun meine Frage:

Wie bekomme ich die numpy deinstallation löschen Sie alle Spuren der alten numpy?


Bearbeiten:

Ich habe auch versucht manuell zu entfernen, numpy, indem Sie Sie löschen aus meinem virtualenv site-packages - Verzeichnis. Nach dem löschen, import numpy zurückgegeben ImportError als erwartet. Ich habe dann neu installiert es (pip install numpy) und es kam zurück mit der gleichen ucs2-bezogene Fehler.

Edit 2:

Den vollen sys.path gesehen durch meine virtualenv Python ist

['',
 '/home/jkralj/.virtualenvs/work/lib/python27.zip',
 '/home/jkralj/.virtualenvs/work/lib/python2.7',
 '/home/jkralj/.virtualenvs/work/lib/python2.7/plat-linux2',
 '/home/jkralj/.virtualenvs/work/lib/python2.7/lib-tk',
 '/home/jkralj/.virtualenvs/work/lib/python2.7/lib-old',
 '/home/jkralj/.virtualenvs/work/lib/python2.7/lib-dynload',
 '/usr/local/lib/python2.7.9/lib/python2.7',
 '/usr/local/lib/python2.7.9/lib/python2.7/plat-linux2',
 '/usr/local/lib/python2.7.9/lib/python2.7/lib-tk',
 '/home/jkralj/.virtualenvs/work/lib/python2.7/site-packages']

Außerdem ist es vielleicht wichtig zu erwähnen, dass die /usr/local/lib/python2.7.9/ installation von python nicht habe numpy installiert.

Das habe ich versucht, aber es hat nicht funktioniert.
Nein, überprüfen Sie die edit-ich schrieb. Es funktionierte nicht, es hast, deinstallieren, numpy, aber die Neuinstallation brachte die gleiche Fehlermeldung wieder. Auch which python druckt die virtualenv python
Ihre Hypothese nicht erklären, die Tatsache, dass die Installation von numpy 1.9.3 funktioniert Prima.
Ich bearbeitet meine Frage einige mehr.
Nein, ich denke, Sie sollten dieses beantworten Sie sich (Sie haben Zugang zu mehr details sowieso). Ein anderer Vorschlag: Sie sollten auf jeden Fall deaktivieren Sie die pip-cache zu vermeiden, laufen in ähnliche Probleme mit anderen Modulen, die kompilierten Erweiterungen. In der Regel das Leben im ~/.cache/pip/. Es könnte auch ein temporäres build-Verzeichnis in /tmp/ (siehe hier).

InformationsquelleAutor 5xum | 2015-11-12

Schreibe einen Kommentar