Python Shebang

Python Shebang
Shebang odnosi się do zestawu unikalnych znaków zawartych na początku pliku skryptu. Shebang określa typ i ścieżkę programu, który powinien wykonać skrypt.

Shebang zaczyna się od postaci #! a następnie ścieżka do programu używanego do wykonywania skryptu.

Shebang w Python

Python to język skryptowy. Stąd pozwala nam określić wersję i ścieżkę interpretera Pythona do użycia przez shebang.

Składnia do dodania shebang w Pythonie jest jak pokazano:

#!Interpreter [opcjonalny arg]

#! Postacie są używane do oznaczenia początku shebang.

Interpreter pozwala określić ścieżkę do interpretera używanego do uruchamiania skryptu.

Wreszcie argument pozwala określić argument przekazywany do określonego wykonywalnego. W naszym przypadku reprezentuje to tłumacz używany do uruchomienia skryptu.

Jeśli chcesz, aby skrypt został wykonany z najnowszą wersją interpretera Python, dodaj następujący wpis na początku skryptu:

#!/usr/bin/env python3

Powyższy shebang mówi systemowi, aby uruchomił skrypt z interpreterą Python 3.

W powyższym przykładzie używamy polecenia/usr/bin/env, aby uzyskać ścieżkę do tłumacza Pythona zamiast ręcznego pisania.

Polecenie ENV pozwala nam wyświetlać i pobierać zmienne środowiskowe, które są w systemie.

Stąd uruchamianie polecenia:

$/usr/bin/env Python

uruchamia zainstalowany interpreter Python.

Kolejnym przykładem shebang jest to, jak pokazano poniżej:

#!/Home/Debian/Anaconda3/bin/Python

W tym przypadku shebang określa pełną ścieżkę do docelowego interpretera Pythona zamiast pobierać ją ze zmiennej środowiskowej systemu.

Zauważ, że aby uniknąć ręcznego włączenia ścieżki do tłumacza, ponieważ może to prowadzić do błędów, jeśli użytkownik nie ma zainstalowanego interpretera w zestawieniu.

W przypadku scenariusza z kodem Python 2 możesz dodać shebang, jak pokazano:

#!/usr/bin/env python2

Inną powszechną i praktyczną funkcją shebang jest poinformowanie systemu, że plik jest wykonywalny bez faktycznego wywoływania Pythona w pliku.

Weźmy prosty przykład. Załóżmy, że mamy plik o nazwie Hello.py,

$ Touch Hello.py
$ Nano Hello.py

Dodaj prostą instrukcję drukowania, jak pokazano:

Drukuj („Cześć, inni maniak!")

Zapisz i zamknij plik.

Bez shebang musimy zadzwonić do programu Python, aby uruchomić plik:

$ Python Hello.py
Cześć, bliźnicy!

Jeśli jednak dodamy shebang

#!/usr/bin/env python3
Drukuj („Cześć, inni maniak!")

Możemy uruchomić skrypt jako:

$ chmod +x hello.py
$ ./Witam.py

Dobrą rzeczą w korzystaniu z shebang env jest to, że jest to platforma krzyżowa. Oznacza to, że nie musisz modyfikować shebang dla każdego systemu.

Czy naprawdę potrzebuję shebang

Chociaż shebang są przydatne i mogą zapewnić dodatkową korzyść dla twoich scenariuszy, nie jest to konieczne.

Na przykład, jeśli chcesz uruchomić skrypt jako samodzielny wykonywalny, posiadanie shebang może być bardzo korzystne.

Jeśli jednak chcesz udostępnić swój kod innym programistom, w tym shebang, może prowadzić do problemów, ponieważ nie wszyscy programiści mają podobne środowisko.

Dlatego przed włączeniem shebang do scenariusza pomyśl o tym, jak i kto uruchomi twój skrypt.

Zamknięcie

W tym artykule omówiliśmy koncepcję shebang i jego rolę w skryptach. Zilustrowaliśmy także, jak pracować z Python Shebang.