我有一个带有命令行脚本的 Python 应用程序。我通过公开脚本setuptools
“入口点”功能。每当用户运行脚本时,我希望环境与包的一致requirements.txt
。这意味着环境必须包含与版本说明符匹配的每个依赖包的版本requirements.txt
.
我知道这可以通过以下方式实现venv
/virtualenv
通过让我的用户创建一个虚拟环境,安装requirements.txt
并在运行脚本时激活该虚拟环境。我不想强加这种手动调用的负担virtualenv
关于用户。红宝石的bundler
通过提供解决了这个问题bundler/setup
-- 加载时,它会修改 Ruby 的$LOAD_PATH
以反映内容Gemfile
(类似的requirements.txt
)。因此,它可以放置在脚本的顶部以透明地控制运行时环境。 Python 有等效的吗?也就是在运行时根据requirements.txt
而不会给用户带来额外的复杂性?
Python 有等效的吗?也就是说,一种根据requirements.txt在运行时设置环境而不给用户带来额外复杂性的方法?
是的,不止一个。
One is pex
pex 是一个用于生成 .pex(Python 可执行文件)文件的库
是本着 virtualenvs 精神的可执行 Python 环境。
另一个是Platter:
Platter 是一个 Python 工具,可简化 Unix 上的部署
服务器。它是 pip、virtualenv、wheel 和辅助工具的薄包装
创建无需编译或下载即可安装的软件包
在服务器上。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)