python设置工具-关于创建命令行应用程序的说明

python设置工具-关于创建命令行应用程序的说明,python,setuptools,Python,Setuptools,我在condavirtualenv中使用click创建了一个简单的python3.7.1命令行应用程序,当作为模块python-m运行时,该应用程序运行良好 最终目标: 创建单个命令(二进制)可执行文件,该文件可以发送到文件系统上最好不依赖于python/conda虚拟环境的某个位置 请注意,这个问题可能与我完全不了解setuptools(我已经阅读了文档)密切相关 项目结构: python_clean_repo/ ├── README.md ├── conda-environment.yaml

我在
conda
virtualenv中使用
click
创建了一个简单的
python3.7.1
命令行应用程序,当作为模块
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\u points.txt
requires.txt

可能的“复制品”建议参考
pyinstaller
,它似乎没有安装到我的conda环境中(使用pip和conda进行了尝试)。我仍然没有很好地掌握
setup.py
的构建过程,无法完全理解这是否是我完成工作所需要的,我只是不知道如何使用它。可能重复的“重复”建议引用了
pyinstaller
,它似乎没有安装到我的conda环境中(pip和conda都试过了)。我对
setup.py
的构建过程仍然没有足够的把握,无法完全理解这是否是我完成工作所需要的东西,我只是不知道如何使用它。