tgoop.com/zen_of_python/4333
Create:
Last Update:
Last Update:
shebang
: что это и как запускать скрипты в CLI без слова python?
При работе с Unix-подобными системами (Linux, macOS), часто используется специальная строка, которая называется 'shebang' (шибэнг). Это первая строка в скрипте, которая начинается с символов #!
, за которыми идёт путь к интерпретатору, который должен выполнить этот скрипт:
#!/usr/bin/env python3
print("Hello world")
Это равносильно: «Для запуска этого файла используй интерпретатор python3, который находится в вашем PATH».
Перед запуском сделаем файл исполняемым (или сразу всю директорию):
chmod +x myscript.py
chmod +x misc/*.py
Теперь скрипт можно запустить так:
./myscript.py
Как правильно писать shebang для Python?
Существует несколько распространённых вариантов записи shebang для Python:
1. Абсолютный путь
#!/usr/bin/python3
Однако, путь может отличаться на разных машинах, поэтому второй способ универсальнее.
2. Использование `/usr/bin/env`:
#!/usr/bin/env python3
Команда
env
ищет в текущем окружении пользователя нужный интерпретатор по имени python3
и запускает его. Это значит, что не важно, где установлен Python, скрипт всё равно будет работать, если python3
доступен в PATH.Что произойдет без shebang?
Если запустить скрипт без shebang напрямую (
./myscript.py
), система не поймет, каким интерпретатором его запускать, и выдаст ошибку. p.s. На Windows shebang не используется системой напрямую, но некоторые инструменты (например, Git Bash, WSL, или IDE) могут её «наследовать».
#основы
@zen_of_python
BY Zen of Python
Share with your friend now:
tgoop.com/zen_of_python/4333