2012-04-29 8 views
12

Dies ist ein Anfänger python Installation Frage. Dies ist das erste Mal, dass ich versucht habe, ein Paket zu installieren und aufzurufen. Ich habe pip installiert, und ich habe versucht, zwei Module zu installieren - numpy und pandas.Installierte Python-Module - Python kann sie nicht finden

Im Terminal, lief ich die folgenden Befehle:

sudo pip install numpy 

sudo pip install pandas 

Beide Befehle mit einer Erfolgsmeldung zurückgegeben. Hier ist die pandas Erfolgsmeldung (es ist das zweite Paket, das ich installiert und war noch in meinem Terminal Geschichte):

Successfully installed pandas 
Cleaning up... 

pip eine ähnliche Meldung zurück, nachdem numpy installiert wurde.

Nun, wenn ich python starten und versuchen, es zu nennen mit:

import pandas 

Ich bekomme diese Fehlermeldung:

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named pandas 

Gleiche, wenn ich numpy versuchen.

Kann mir jemand sagen, was ich falsch mache?

+0

Verwenden Sie virtualenv? – alan

+0

@alan ich bin nicht. Sollte ich? – mikebmassey

+0

Nein, nicht unbedingt. Aber wenn Sie es wären, müssten Sie sicherstellen, dass der virtualenv aktiviert wurde, bevor Ihre Importe funktionieren würden. Aber ignoriere meinen Kommentar, da er nicht relevant zu sein scheint. – alan

Antwort

15

argh. hast du zwei Pythons auf deinem Weg, die die gleiche Version haben? Tu das nicht.

pip, easy-install usw. sind mit einer bestimmten Python-Installation verbunden und verwenden standardmäßig dieses Python. Wenn Sie also ein vom System bereitgestelltes Python und ein vom System bereitgestelltes easy_install haben (oder sich mit dem System python selbst installieren), installiert easy_install standardmäßig Pakete für das System python.

der beste Weg, um dieses Chaos zu vermeiden, imho, ist die Verwendung System Python für diese Version (2.7 wahrscheinlich) und, für andere Versionen verwenden make alt-install bei der Installation, die Ihnen ausführbare Dateien wie python3.1 und dergleichen geben zu verwenden. Wenn Sie die vom System bereitgestellte Version wirklich ersetzen müssen, deinstallieren Sie sie.

sobald Sie das getan haben. Jeder Python hat einen eindeutigen Namen (der in der Version endet) und python bleibt das System eins. Wenn Sie easy_install installieren, werden Sie feststellen, dass es versionsspezifische Versionen gibt (zB easy_install-2.7). benutze diese. falls eines fehlt, installiere distutils mit dem entsprechenden Python (benutze zB python3.1 und du bekommst easy_install-3.1). Leider überschreiben Sie jedes Mal, wenn Sie dies tun (iirc), die nicht versionierte easy_install, also nie verwenden Sie diese - verwenden Sie immer die versionierte.

alternativ könnten Sie easy_install oder pip für nichts anderes als die Systemversion installieren, dann verwenden Sie immer virtualenv. Mit virtualenv können Sie eine Python-Version angeben (damit Sie das System virtualenv für alle installierten Pythons verwenden können) und dann easy_install/pip für das von Ihnen verwendete Python installieren. Sobald Sie also in der virtuellen Umgebung sind, funktioniert alles.

und ich habe gerade festgestellt, dass ich nicht viel Erfahrung mit pip habe, also kann ich nicht wirklich dabei helfen (außer zu bemerken, dass virtualenv es bietet) (was vorzuziehen ist: Früher war dieser pip besser Ich denke in diesen Tagen ist das neueste distutils/easy_install so gut wie Pip, aber Pip hat ein paar mehr Funktionen, die ich nie benutzt habe.

Haftungsausschluss: das oben genannte ist von der erlernten Erfahrung, die lepl entwickelt, das auf 2.6 zu 3.2 läuft, also muss ich es auf allen jenen prüfen. Soweit ich weiß, funktioniert das, was ich oben beschrieben habe, für mich, aber ich habe keine tiefen Kenntnisse von Python/easy_install/pip, so dass ich einige Fehler bei der Rationalisierung/Beschreibung von Dingen haben kann (mit anderen Worten, ich schreibe all dies für den Fall es hilft, aber ich bin ein bisschen besorgt, ich habe einen Fehler - bitte korrigieren Sie mich, wenn ja.

0

Damit löse ich das Problem (kann Ihnen helfen):

$ sudo apt-get install python-pandas 
$ sudo apt-get install python-numpy 
+0

Haben Sie sogar festgestellt, auf welchem ​​OS das OP läuft? –