Uruchamianie pliku Python w terminalu

47

Próbuję nauczyć się, jak regularnie uruchamiać moje skrypty przez terminal Ubuntu. Mając na uwadze powyższe znam bash, wgeti awkmiano ale jak mam nazwać pliki Pythona do uruchomienia w terminalu? Chciałbym się tego nauczyć, ale nie jestem pewien, gdzie to zbadać. Mam .pywplik, który odwołuje się do kilku .pyplików w folderze.

DᴀʀᴛʜVᴀᴅᴇʀ
źródło
Różnica w poniższym przypadku, ponieważ oryginalny tytuł jest zbyt ogólny, włączając go - o uruchomieniu skryptu Pythona w terminalu w celu wywołania funkcji stackoverflow.com/q/25837063/54964
Léo Léopold Hertz 준영

Odpowiedzi:

81

Opcja 1: Zadzwoń do tłumacza

  • W przypadku Python 2: python <filename>.py
  • W przypadku Python 3: python3 <filename>.py

Opcja 2: Pozwól skryptowi wywołać tłumacza

  1. Upewnij się, że pierwsza linia pliku ma #!/usr/bin/env python.
  2. Niech będzie wykonywalny - chmod +x <filename>.py.
  3. I uruchom jako ./<filename>.py
abhshkdz
źródło
jaki jest powód, że kiedy chcę uruchomić .py, działa tylko z opcją metody 1, a druga daje błąd składniowy?
Krsztr
co jeśli chcesz otworzyć nowy plik python?
asmgx
8

Wystarczy poprzedzić nazwę pliku skryptu python. Na przykład:

python filename.py
Winston Ewert
źródło
5

Warto również wspomnieć, że dodając -iflagę później python, możesz kontynuować sesję w celu dalszego kodowania. Lubię to:

python -i <file_name.py>
keyan3d
źródło
3
python <filename.py>

myślę, że pyw powinien działać w ten sam sposób. Możesz także uruchomić interaktywną konsolę za pomocą just

python

Ponadto możesz uniknąć konieczności jawnego wywoływania Pythona, dodając shebang na górze skryptu:

#!/usr/bin/env python

... lub dowolną ich liczbę odmian

IlluminAce
źródło
2

Najpierw uruchom następujące polecenie

chmod +x <filename>.py

Następnie na górze skryptu dodaj #!i ścieżkę interpretera Pythona:

#!/usr/bin/python

Jeśli chcesz, aby skrypt był niezależny od miejsca, w którym mieszka interpreter Pythona, możesz użyć envprogramu. Prawie wszystkie warianty Uniksa obsługują następujące, zakładając, że interpreter Pythona znajduje się w katalogu użytkownika $PATH:

#! /usr/bin/env python
Shanaka
źródło
0

Zmień katalogi za pomocą cdna katalog zawierający plik .py i uruchom jedno z następujących dwóch poleceń:

python <filename>.py  # for Python 2.x  
python3 <filename>.py # for Python 3.x 

Alternatywnie uruchom jedno z następujących dwóch poleceń:

python /path/to/<filename>.py  # for Python 2.x  
python3 /path/to/<filename>.py # for Python 3.x 
Karel
źródło
-2

Spróbuj użyć polecenia python3zamiast python. Jeśli skrypt został napisany w Python3 i próbujesz go uruchomić z Python2, możesz mieć problemy. Ubuntu ma jedno i drugie; zmiana nazwy programu na python3(zamiast zastępowania python) umożliwiła to. Ubuntu potrzebuje wersji 2.7 (od 16.02.2017), więc NIE usuwaj ani nie usuwaj Python2, ale zachowaj je oba. Nawyk używania Python3 do uruchamiania skryptów, które mogą być uruchamiane albo.

Tony
źródło
1
-1 Python 3 nie może uruchamiać skryptów Python 2 (z kilkoma wyjątkami).
wjandrea
Moje złe, masz rację. Prawdopodobnie dlatego Ubuntu wciąż używa Pythona 2. Przepraszamy, dziękuję za poprawienie mnie.
Tony