python setuptools-有关创建命令行应用程序的说明

时间:2019-02-21 04:21:45

标签: python setuptools

我已经在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文件,例如{{1} }和entry_points.txt

0 个答案:

没有答案