通过venv分发Python应用程序

lun*_*oko 5 python software-distribution virtualenv

假设我有一个将用作命令行工具的Python应用程序。这个程序有一些外部依赖。我将如何分发它?

我知道在虚拟环境(virtualenv或pyvenv)中安装Python东西很常见,但是如果要从命令行使用该应用程序,我不想让我或我的用户每次激活正确的虚拟环境想要使用我的应用程序。

这个问题有方法解决吗?还是我应该将所有依赖项放在setup.py中,然后由用户决定是否创建虚拟环境?

gue*_*tli 2

使用 asetup.py并列出 中的依赖项install_requires

现在到“如何分发这个?”部分

在我们公司,我们运行自己的 pypi 服务器。安装在我们服务器上的每个包都必须来自我们的 pypi 服务器。没有软件直接从互联网下载到服务器。

如果你想构建一个开源工具,你应该将其上传到官方 pypi 服务器。

该工具不应该关心它的环境。它应该在 virtualenv 和外部工作。

也许示例项目可以帮助您: https: //github.com/pypa/sampleproject