Подтвердить что ты не робот

Setup.py и добавление файла в/bin/

Я не могу понять, как сделать setup.py добавить скрипт пользователю /bin или /usr/bin или что-то еще.

Например, я хотел бы добавить myscript.py в /usr/bin, чтобы пользователь мог вызвать myscript.py из любого каталога.

4b9b3361

Ответ 1

Документация Python объясняет это в разделе установки скриптов.

Сценарии - это файлы, содержащие исходный код Python, предназначенный для запуска из командной строки.

Ответ 2

Рассмотрим использование console_scripts:

from setuptools import setup
setup(name='some-name',
      ...
      entry_points = {
              'console_scripts': [
                  'command-name = package.module:main_func_name',                  
              ],              
          },
)

Где main_func_name - основная функция вашего основного модуля. command-name - имя, под которым оно будет сохранено в/usr/local/bin/(обычно)

Ответ 3

Если вы хотите создать и установить весь пакет python, вот как я это сделаю:

  • Отредактируйте функцию setup() в файле setup.py, чтобы содержать параметр с именем scripts, и установите его аргумент как местоположение файла (ов), который вы хотите запустить из любого места. например

setup(name='myproject',author='',author_email='',scripts=['bin/myscript.py'])

  • В каталоге, который содержит setup.py, создайте каталог bin, набрав mkdir bin
  • Добавьте myscript.py в этот недавно созданный каталог bin (и убедитесь, что он выполним!)
  • cd в каталог, содержащий setup.py, и установите весь пакет python, набрав python setup.py install
  • Как только пакет будет установлен, вы сможете запустить myscript.py из любого места в системе!

Ответ 4

Существует два способа получить рабочий инструмент командной строки из setuptools и инфраструктуры PyPI:

  • Аргумент ключевого слова "scripts"
    Это позволяет выполнять командную строку всего, что вам нужно, это может быть Python script, оболочка script или что-то совершенно другое.
  • Точка входа "console_scripts"
    Это позволяет непосредственно функциям Python (а не скриптам!) в качестве доступных инструментов командной строки.