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.


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

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


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>

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


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

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 

-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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.