2014-10-19 23:38:42 +0000 2014-10-19 23:38:42 +0000
41
41

Uruchamianie skryptów Pythona bez wyraźnego wywoływania `python`.

Używam Debiana Linuksa.

Zastanawiałem się, czy istnieje sposób, aby skonfigurować uruchamianie wszystkich skryptów Pythona w terminalu przez wpisanie script.py (zamiast python script.py).

Odpowiedzi (4)

60
60
60
2014-10-19 23:47:44 +0000

Są dwie rzeczy, które musisz zrobić:

  • Upewnij się, że plik jest wykonywalny: chmod +x script.py
  • Użyj shebang, aby kernel wiedział, jakiego interpretera użyć. Górny wiersz skryptu powinien brzmieć:

Teraz możesz wpisać:

./script.py

jeśli skrypt znajduje się w twoim bieżącym katalogu, lub:

script.py

jeśli lokalizacja skryptu znajduje się w twoim PATH, lub:

path/to/script.py

w przeciwnym wypadku.

33
33
33
2014-10-19 23:58:24 +0000

Pod linuxem możesz po prostu użyć hashbang (aka shebang). Dodaj linię

#!/usr/bin/python

jeśli chcesz uruchomić domyślny interpreter pythona.

#!/path/to/python[x.x]

aby użyć jakiejś konkretnej wersji, lub

#!/usr/bin/env python

jeśli chcesz aby środowisko znalazło pythona za Ciebie.

Wymagane będzie również, aby skrypt był wykonywalny

chmod +x script[.py]
3
3
3
2017-10-31 18:09:01 +0000

Use:

#!/usr/bin/env python

To zapewni, że python, którego oczekuje użytkownik, będzie tym, który uruchamia skrypt. Jest to szczególnie ważne, jeśli użytkownik używa virtualenv, aby mieć określoną wersję pythona w danym środowisku.

0
0
0
2018-04-08 19:22:47 +0000

Użyj linii shebang na górze skryptu, jak poniżej:

!/usr/bin/python

Zaktualizuj odpowiednią wersję pythona, na której chcesz wykonać skrypt, np. dla pythona 3.6 jest to

!/usr/bin/python3.6

dla domyślnego interpretera

!/usr/bin/python

Uwaga: Upewnij się, że skrypt ma uprawnienia do wykonywania.