python setuptools - пояснения по созданию приложения командной строки - PullRequest
0 голосов
/ 21 февраля 2019

Я создал простое python3.7.1 приложение командной строки с использованием click в виртуальном окружении conda, которое отлично работает при работе в качестве модуля python -m.

Конечная цель:

Чтобы создать отдельный исполняемый файл команды (двоичный файл), который можно отправить куда-нибудь в файловой системе, которая предпочтительно не зависит от виртуальной среды Python / Conda.

Обратите внимание, что этот вопрос, вероятно, тесно связан с моим полным отсутствием понимания setuptools (я прочитал документы).

Структура проекта:

python_clean_repo/
├── README.md
├── conda-environment.yaml
├── setup.py
├── tests
│   └── test_basic.py
└── yourpackage
    ├── configs
    │   ├── app_config.yaml
    │   └── config.py
    ├── main.py
    └── scripts
        └── cmdline.py

При запуске с параметром -m все работает как положено:

$ python -m yourpackage.scripts.cmdline
Hello World!
here i am in main
config is {'key': 'value'}

Упаковка завершается успешно:

$ pip install -e .
...
Successfully installed python-clean-repo

Так что теперь у меня есть исполняемый файл в моей виртуальной среденазывается yourscript (это имя точки входа, представленной в setup.py), которая работает точно так, как я ожидал:

$ yourscript
Hello World!
here i am in main
config is {'key': 'value'}

Вопрос:

Как я могу отправить"этот исполняемый файл, который теперь кажется напрямую связанным с моей виртуальной средой?Я также попробовал python setup.py sdist, но по какой-то причине созданный tar.gz не содержит всего (нет включенных .py модулей, просто куча .txt файлов, таких как entry_points.txt и requires.txt

...