Скрипты Python в/usr/bin
Я пишу довольно базовое приложение в python (это только один файл на данный момент). Мой вопрос: как это сделать, чтобы python script мог быть запущен в /usr/bin без расширения .py?
Например, вместо запуска
python htswap.py args
из каталога, где он сейчас находится, я хочу, чтобы иметь возможность cd в любой каталог и делать
htswap args
Спасибо заранее!
Ответы
Ответ 1
Просто отмените расширение .py
, переименовав файл. Затем вы должны поместить следующую строку вверху вашего файла:
#!/usr/bin/env python
env
- небольшая программа, которая устанавливает среду таким образом, чтобы выполнялся правильный интерпретатор python
.
Вы также должны сделать свой файл исполняемым, с командой
chmod a+x htswap
И выгрузите его в /usr/local/bin
. Это чище, чем /usr/bin
, поскольку содержимое этой директории обычно управляется операционной системой.
Ответ 2
Первая строка файла должна быть
#!/usr/bin/env python
Вы должны удалить расширение .py
и сделать файл исполняемым, используя
chmod ugo+x htswap
EDIT: Thomas правильно указывает, что такие скрипты должны быть помещены в /usr/local/bin
, а не в /usr/bin
. Пожалуйста, поддержите его ответ (возможно, за счет моего. Семь авоттов (как мы говорим) за этот материал смешно)
Ответ 3
притон?
#!/usr/bin/env python
Поместите это в начало вашего файла, и вы установите
Ответ 4
добавьте #!/usr/bin/env python
к самой вершине htswap.py
и переименуйте htswap.py
в htswap
, затем выполните команду: chmod +x htswap
, чтобы сделать исполняемый файл htswap.
Ответ 5
Я вижу в официальных учебниках Python http://docs.python.org/tutorial/index.html, которые
#! /usr/bin/env python
используется так же, как и вышеприведенные ответы. Обратите внимание, что вы также можете использовать следующие
#!/usr/bin/python
Это стиль, который вы увидите в сценариях оболочки, например bash. Например
#!/bin/bash
Увидев, что официальные игры идут с первым вариантом, который, вероятно, лучше всего. Согласованность в коде - это то, к чему нужно стремиться!