我创造了一个简单的
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
但由于某种原因,焦油产生了。gz不包含所有内容(不包括
.py
模块,只是一堆
.txt
文件,例如
entry_points.txt
和
requires.txt