Jak znaleźć katalog instalacyjny Pythona na Ubuntu

47

Właśnie przeprowadziłem migrację ze środowiska Windows. Zainstalowałem Python 3.2 w osobnym katalogu. Jak mogę uzyskać ścieżkę instalacji Pythona w powłoce Ubuntu?

Czy jest jakiś sposób, aby poinformować powłokę / wybrać w czasie wykonywania, która wersja Pythona ma być używana do dalszego wykonywania kodu?

Czy w Ubuntu Linux są jakieś zmienne środowiskowe i ścieżki wyszukiwania?

Avi Mehenwal
źródło

Odpowiedzi:

63

Pierwsze pytanie:

which pythonchociaż zwykle /usr/bin/pythondotyczy wersji 2.7

Drugie Pytanie:

Od terminala i python2.7: python2.7 yourfile.py.
Podobnie dla 3.2: python3.2 yourfile.pychociaż 3.2 nie jest domyślnie instalowany. (Możesz apt-get install python3.2.)

To, python yourfile.pyco zrobisz, zależy od tego, która alternatywa zostanie użyta dla interpretera języka Python. Możesz to zmienić, wydając update-alternatives pythonjako root(lub używając su).

Trzecie pytanie:

Zmienne środowiskowe są zależne od powłoki, ale można je zapisać za pomocą echo $variablei ustawić za pomocą variable=value(z bash). Ścieżka wyszukiwania jest po prostu wywoływana PATHi możesz ją zdobyć, pisząc echo $PATH.

Mam nadzieję, że to było pomocne.

Wolfer
źródło
Dzięki @Wolfer! Odpowiedź była naprawdę pomocna i bardzo doceniana. Jeśli ktoś taki jak ja zmienił domyślną ścieżkę instalacji Pythona 3, to ..? Jak mogę sprawdzić ścieżkę i uruchomić przy użyciu tej wersji?
Avi Mehenwal
Ponadto nie otrzymuję żadnych danych wyjściowych dla zmiennej $ echo $
Avi Mehenwal
3
which python2.7i which python3.2zwróci ścieżkę instalacji każdego tłumacza (lub nie zwróci niczego, jeśli nie zostanie zainstalowany).
Wolfer
34

Jeśli chcesz znaleźć lokalizację programu, którego możesz użyć whereis <program>.

W twoim przypadku uruchom:

whereis python2.7
whereis python3.2

Aby znaleźć każdy plik, który apt-get skopiował do instalacji, użyj:

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

Ale maby zaleca się zapisanie go w pliku tekstowym, ponieważ wynik jest zbyt duży.

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

do uruchamiania pliku .py z pythonem 3.2

python3.2 <file.py>
Thomas15v
źródło
1
Dzięki @Thomas! To polecenie „whereis python2.7” wyświetla wiele ścieżek, ale myślę, że musi istnieć pojedynczy katalog instalacyjny Pythona!
Avi Mehenwal
1
dpkg -S python2.7 pokazuje wszystkie pliki python2.7. „/usr/lib/python2.7” jest katalogiem python2.7.
Thomas15v
Jestem trochę zdezorientowany, / usr / bin / python to domyślny shebang, którego używamy, gdy pakiet python znajduje się w /usr/lib/python2.7? Czy to prawda ??
Avi Mehenwal
/ usr / lib / python to program. W Linuksie plik evry może być programem. Jeśli wychodzisz z okna, jest zdezorientowany.
Thomas15v
4

Oto prosty sposób, uruchom w terminalu:

type -a python

lub

type -a python3
Dzmitry Koniukhau
źródło