So finden Sie das Python-Installationsverzeichnis unter Ubuntu

47

Ich bin gerade von der Windows-Umgebung migriert. Ich habe Python 3.2 in einem separaten Verzeichnis installiert. Wie kann ich den Python-Installationspfad in der Ubuntu-Shell erhalten?

Kann ich der Shell zur Laufzeit mitteilen, welche Python-Version für die weitere Codeausführung verwendet werden soll?

Gibt es in Ubuntu Linux auch Umgebungsvariablen und Suchpfade?

Avi Mehenwal
quelle

Antworten:

63

Erste Frage:

which pythonobwohl es normalerweise /usr/bin/pythonfür den 2.7

Zweite Frage:

Von einem Terminal & python2.7: python2.7 yourfile.py.
Ähnlich für 3.2: python3.2 yourfile.pyobwohl 3.2 nicht standardmäßig installiert ist. (Sie können apt-get install python3.2.)

Was Sie python yourfile.pytun werden, hängt davon ab, welche Alternative für Ihren Python-Interpreter verwendet wird. Sie können dies ändern, indem Sie update-alternatives pythonals root(oder mit su) ausgeben .

Dritte Frage:

Umgebungsvariablen sind shellabhängig, obwohl Sie echo $variablesie mit variable=value(from bash) ausschreiben und setzen können . Der Suchpfad wird einfach aufgerufen PATHund Sie können ihn durch Eingabe abrufen echo $PATH.

Ich hoffe das war hilfreich.

Wolfer
quelle
Danke @Wolfer! Die Antwort war in der Tat hilfreich und wurde sehr geschätzt. Wenn jemand wie ich den Standard-Installationspfad für Python 3 geändert hat, dann ..? Wie kann ich den Pfad überprüfen und mit dieser Version ausführen?
Avi Mehenwal
Außerdem
erhalte
3
which python2.7und which python3.2gibt den Installationspfad jedes Interpreters zurück (oder nichts, wenn er nicht installiert ist).
Wolfer
34

Wenn Sie den Speicherort eines Programms suchen möchten, können Sie einfach verwenden whereis <program>.

In deinem Fall laufe:

whereis python2.7
whereis python3.2

Um alle Dateien zu finden, die apt-get für die Installation kopiert hat, verwenden Sie:

dpkg -S python2.7
dpkg -S python3.2

Es wird jedoch empfohlen, die Datei in einer Textdatei zu speichern, da die Ausgabe zu groß ist.

dpkg -S python2.7 >log.txt
gedit log.txt

zum Ausführen von .py-Dateien mit Python 3.2

python3.2 <file.py>
Thomas15v
quelle
1
Vielen Dank @Thomas! Dieser Befehl 'whereis python2.7' zeigt viele Pfade an, aber ich denke, es muss ein einziges Python-Installationsverzeichnis geben!
Avi Mehenwal
1
dpkg -S python2.7 zeigt alle Dateien von python2.7. "/usr/lib/python2.7" ist das Verzeichnis von python2.7.
Thomas15v
Ich bin ein bisschen verwirrt, / usr / bin / python ist der Standard-Shebang, den wir verwenden, während sich das Python-Paket unter /usr/lib/python2.7 befindet. Ist das wahr ??
Avi Mehenwal
/ usr / lib / python ist das Programm. In Linux kann jede Datei ein Programm sein. Wenn Sie vom Fenster kommen, ist es verwirrt.
Thomas15v
4

Hier ist eine einfache Möglichkeit, im Terminal auszuführen:

type -a python

oder

type -a python3
Dzmitry Koniukhau
quelle