Używam Debian Linux.
Zastanawiałem się, czy istnieje sposób skonfigurowania do uruchamiania wszystkich skryptów Python w terminalu, wpisując script.py
(zamiast python script.py
).
Używam Debian Linux.
Zastanawiałem się, czy istnieje sposób skonfigurowania do uruchamiania wszystkich skryptów Python w terminalu, wpisując script.py
(zamiast python script.py
).
Odpowiedzi:
Musisz zrobić dwie rzeczy:
chmod +x script.py
Użyj shebang, aby poinformować jądro, jakiego interpretera użyć. Górna linia skryptu powinna brzmieć:
#!/usr/bin/python
Zakłada się, że skrypt będzie działał z domyślnym pythonem. Jeśli potrzebujesz konkretnej wersji, po prostu podaj w shebang:
#!/usr/bin/python2.7
Teraz możesz wpisać:
./script.py
jeśli skrypt znajduje się w bieżącym katalogu lub:
script.py
jeśli lokalizacja skryptu znajduje się w Twojej ŚCIEŻCE, lub:
path/to/script.py
Inaczej.
bash
że czyta plik podczas wykonywania ...
./script.py
, niescript.py
W Linuksie możesz po prostu użyć hashbanga (aka shebang). Dodaj linię
#!/usr/bin/python
jeśli chcesz uruchomić domyślny interpreter Pythona.
#!/path/to/python[x.x]
użyć określonej wersji lub
#!/usr/bin/env python
Jeśli chcesz, aby środowisko znalazło dla Ciebie Pythona.
Konieczne będzie również wykonanie skryptu
chmod +x script[.py]
Posługiwać się:
#!/usr/bin/env python
Zapewni to, ż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.
Użyj linii shebang na górze skryptu, jak poniżej:
Zaktualizuj odpowiednią wersję Pythona, na której chcesz uruchomić skrypt. np. dla Pythona 3.6
dla domyślnego tłumacza
Uwaga: Upewnij się, że skrypt ma uprawnienia do wykonywania.
#!/usr/bin/env python
na wypadek, gdyby użytkownik miał lokalną wersję Pythona (np. In/usr/local/bin
), z którą wolałby uruchomić skrypt.