Скрипты Python в / usr / bin

Я пишу довольно базовое приложение в python (сейчас это только один файл). Мой вопрос в том, как я могу получить его, чтобы скрипт python мог запускаться в / usr / bin без расширения .py?

Например, вместо запуска

python htswap.py args 

из каталога, в котором он сейчас находится, я хочу иметь возможность записывать cd в любой каталог и делать

 htswap args 

Заранее спасибо!

5 Solutions collect form web for “Скрипты Python в / usr / bin”

Просто .py расширение .py , переименовав файл. Затем вы должны поместить следующую строку вверху своего файла:

 #!/usr/bin/env python 

env – небольшая программа, которая устанавливает среду таким образом, чтобы выполнялся правильный интерпретатор python .

Вы также должны сделать свой файл исполняемым, с помощью команды

 chmod a+x htswap 

И выгрузите его в /usr/local/bin . Это чище, чем /usr/bin , потому что содержимое этого каталога обычно управляется операционной системой.

Первая строка файла должна быть

 #!/usr/bin/env python 

Вы должны удалить расширение .py и сделать файл исполняемым, используя

 chmod ugo+x htswap 

EDIT: Томас правильно указывает, что такие скрипты должны быть помещены в /usr/local/bin а не в /usr/bin . Пожалуйста, поддержите его ответ (возможно, за счет моего. Семь upvotes (как мы говорим) для такого рода вещей смешны)

Притон?

 #!/usr/bin/env python 

Поместите это в начало вашего файла, и вы настроены

добавьте #!/usr/bin/env python в самую верхнюю часть htswap.py и переименуйте htswap.py в htswap затем выполните команду: chmod +x htswap чтобы сделать исполняемый файл htswap.

Я вижу в официальных учебниках Python, http://docs.python.org/tutorial/index.html , что

 #! /usr/bin/env python 

используется так же, как и вышеприведенные ответы. Обратите внимание, что вы также можете использовать следующие

 #!/usr/bin/python 

Это стиль, который вы увидите в сценариях оболочки, например, сценарии bash. Например

 #!/bin/bash 

Увидев, что официальные игры идут с первым вариантом, который, вероятно, лучше всего. Согласованность в коде – это то, к чему нужно стремиться!

  • Почему Celery работает в оболочке Python, но не в моих представлениях Django? (проблема импорта)
  • Настроить svnperms pre-commit hook
  • Время ожидания докера для контейнера?
  • Выбор определенных столбцов из вывода df -h в python
  • Захват статуса выхода процесса Python в оболочке UNIX
  • Не удается подключиться к абстрактному сокету unix в python
  • Можете ли вы обмануть isatty AND log stdout и stderr отдельно?
  • Создайте исполняемый файл python с помощью setuptools
  • Как использовать функции Mathematica в программах Python?
  • Как я могу получить IP-адрес eth0 в Python?
  • удаленное выполнение сценария оболочки с помощью python
  • Python - лучший язык программирования в мире.