2016-07-11 10 views
0

Ich habe Python 2.7.12 in Ubuntu 16.04 (64-Bit-Version) installiert. Ich habe auch Module wie numpy, scipy, sympy usw. über Pip installiert. Mein Problem ist, wenn ich Python Kommandozeile via Terminal öffnen und versuchen, diese Module zu importieren, ich die folgende Fehlermeldung erhalten:Wie geben Sie Python Zugriff auf systemweite Module in Ubuntu?

$ python 
Python 2.7.12 (default, Jul 10 2016, 20:42:07) 
[GCC 5.3.1 20160413] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import numpy 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named numpy 
>>> 

Nach einigen Recherchen fand ich von diesen thread, dass, wenn ich Python Kommandozeile öffnen mit /usr/bin/python und versuchen Sie, diese Module zu importieren, ich bekomme keine Fehler.

$ /usr/bin/python 
Python 2.7.11+ (default, Apr 17 2016, 14:00:29) 
[GCC 5.3.1 20160413] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import numpy 
>>> import scipy 
>>> import sympy 
>>> import matplotlib 
>>> import pandas 
>>> 

Aber ich möchte wissen, ob es einen Weg gibt, kann ich nur in python vom Terminal eingeben und diese Module in der Python-Befehlszeile importieren? wenn ich ein Programm wie dieses zum Beispiel schreiben,

x = 2 
print x 
y = 5 
print y 
print x+y 

import numpy 
import scipy 
import sympy 

speichern sie in einer Datei in meinem Desktop namens test.py und öffnen Sie sie mit dem Befehl /usr/bin/python test.py, erhalte ich die gewünschte Ausgabe.

$ /usr/bin/python test.py 
2 
5 
7 

Aber wenn ich das gleiche mit dem Befehl python test.py versuchen, erhalte ich den Fehler wieder

$ python test.py 
2 
5 
7 
Traceback (most recent call last): 
    File "test.py", line 8, in <module> 
    import numpy 
ImportError: No module named numpy 

Von dem, was ich verstehe, Python haben keinen Zugriff auf systemweite Module, da sie lokal installiert ist . Wenn ja, gibt es eine Möglichkeit, Python global oder die Module für Python lokal zu machen? Ich habe in den letzten paar Stunden versucht, eine Lösung zu finden, aber ich habe noch nichts gefunden und ich bin neu in Linux. Danke für Ihre Hilfe.

Antwort

1

Ich denke, die Ursache ist, dass Sie mehrere Python-Binärdatei unter $ PATH haben, und Ihr System /usr/bin/python standardmäßig nicht verwendet.

  1. Fahrbefehl which python zu sehen, welcher Python standardmäßig verwendet wird
  2. die Standard-Python-Datei so etwas wie ‚Python-2-7-12‘

dann versuchen, umbenennen python test.py wieder zu laufen sehen, ob es gelöst ist.

+0

eine andere Art und Weise ist, dass Sie einen Alias ​​in Ihrem Profil erstellen: vim ~/.bashrc alias Python = '/ usr/bin/python' – walker

+0

Die erste Methode völlig in Ordnung war. Als ich 'which python' ausgeführt habe, zeigte es '/ usr/local/bin/python'. Also habe ich Ihre Anweisungen befolgt und die Python-Datei in ** Python_Default ** umbenannt. Wenn ich nun python vom Terminal aus starte und 'import module' eintrage, funktioniert es. Außerdem zeigt 'which python' '/ usr/bin/python'. Es gibt drei verschiedene Python-Dateien im Stammverzeichnis. Vielen dank für Deine Hilfe. – rsnaveen

+0

@rsnaveen Haben Sie Python selbst installiert? Es gibt keinen Grund, dies zu tun, es sei denn, Sie müssen eine bestimmte Version von Python verwenden, die sich von Python unterscheidet, die bereits mit Ubuntu 16.04 installiert ist. – edwinksl

Verwandte Themen