Каков наилучший способ распространения инструментов командной строки python?

Мой текущий setup.py script работает нормально, но он устанавливает tvnamer.py (инструмент) как tvnamer.py в пакеты сайта или где-то похожие.

Могу ли я сделать setup.py install tvnamer.py как tvnamer, и/или есть лучший способ установки приложений командной строки?

Ответ 1

Попробуйте параметр entry_points.console_scripts в вызове setup(). Как описано в setuptools docs, это должно делать то, что я думаю, что вы хотите.

Чтобы воспроизвести здесь:

from setuptools import setup

setup(
    # other arguments here...
    entry_points = {
        'console_scripts': [
            'foo = package.module:func',
            'bar = othermodule:somefunc',
        ],
    }
)