LINUX.ORG.RU

Установка собственных python скриптов в Linux

 ,


0

1

Пусть имеется такой проект:

$ tree
.
├── my_hard_script.py
├── mymodule
│   └── hardmodule.py
└── setup.py

С помощью setup из setuptools (и pip3) я ввожу модуль hardmodule.py в эксплуатацию и в скрипте my_hard_script.py он доступен без дополнительной подгрузки путей:

import hardmodule

Возникает вопрос: куда устанавливать скрипт my_hard_script.py для того, чтобы им можно было пользоваться из командной строки:

my_hard_script.py 
?

Его следует скопировать в какой-либо системный путь, например, /usr/local/bin или, его следует устанавливать как и модуль?



Последнее исправление: ivanterverov (всего исправлений: 1)

Его следует скопировать в какой-либо системный путь, например, /usr/local/bin или, его следует устанавливать как и модуль?

Сделай симлинк на скрипт, зачем копировать?

Virtuos86 ★★★★★
()

Как вариант включить my_hard_script.py в состав модуля, тогда в setup.py можно прописать возможность вызывать его из командной строки после установки. Гугли 'setup.py entry points', например вот.

Worron ★★★
()

pip3 show hardmodule

И я надеюсь ты как минимум знаешь о существовании PYTHONPATH.

itn ★★★
()
Последнее исправление: itn (всего исправлений: 1)
Ответ на: комментарий от Virtuos86

Сделай симлинк на скрипт, зачем копировать?

Скрипт будет часто использоваться на ряде хостов.

Я правильно понимаю, что скрипт устанавливается так же как и модуль и на него делается симлинк? В модуле полезная часть до сценария его запуска:

if __name__=="__main__":
и он не запускается как отдельный сценарий.

А в скрипте полезная (работающая) часть именно в сценарии его запуска из командной строки.

P.S. Ну как бы хочется сразу правильно установить. Модуль же тоже можно было кидать в текущий каталог со скриптом где-нить в /opt ... и потом сделать симлинк в системных путях ...

ivanterverov
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.