我有一个带有命令行脚本的Python应用程序。我通过setuptools
"入口点"特征。每当用户运行脚本时,我希望环境与包requirements.txt
一致。这意味着环境必须包含与requirements.txt
中的版本说明符匹配的每个依赖包的版本。
我知道通过让我的用户创建虚拟环境,在其中安装venv
并在运行脚本时激活该虚拟环境,可以使用virtualenv
/ requirements.txt
实现此目的。我不想强加给用户手动调用virtualenv
的负担。 Ruby bundler
通过提供bundler/setup
解决了这个问题 - 加载后,它会修改Ruby $LOAD_PATH
以反映Gemfile
的内容(类似物) requirements.txt
)。因此,它可以放在脚本的顶部,以透明地控制运行时环境。 Python有相同的功能吗?也就是说,一种根据requirements.txt
在运行时设置环境而不会给用户带来额外复杂性的方法?
答案 0 :(得分:1)
我不明白为什么Python程序在导入之前不能安装自己的依赖项,但在Python社区中却是闻所未闻。
我宁愿查看使您的应用程序成为独立可执行文件的选项,例如here所述。
答案 1 :(得分:1)