如何在corporate n中部署python应用程序

2024-04-23 14:11:26 发布

您现在位置:Python中文网/ 问答频道 /正文

首先让我解释一下目前的情况:

我们确实有几个python应用程序,它们依赖于定制的(不是公开发布的)以及一般已知的包。这些依赖项都安装在system python安装上。应用程序的分发通过git按源完成。所有这些电脑都隐藏在一个公司网络中,不能上网。在

这种方法有点麻烦,因为它有以下缺点:

  • Libs必须手动安装在每台计算机上:(

如何更好地部署应用程序?最近我还没看到解决方案。在

virtualenv为我的应用程序创建一个干净的python instance。我应该如何部署它,以便软件的用户可以轻松地启动它?在

应用程序内部是否应该有一个启动脚本来在启动期间创建virtualenv?在

下一个问题是电脑不能上网。我知道我可以为包指定一个自定义位置(网络共享?)但这是正确的方法吗?或者我应该部署压缩包吗?在

另一种方法是发布整个python实例吗?所以用户不必启动virutalenv?在这个python实例中,所有必要的包都将预先安装。在

由于我们的应用程序正在快速增长,我们有一个快速的发布周期(2周)。通过git部署非常简单。用户可以通过一个更新脚本从stable分支中获取最新版本-这是否仍然可行,或者是否有更好的方法?在

我知道有很多问题。希望有人能回答我或给我一些建议。在


Tags: 实例方法用户git网络脚本应用程序virtualenv
1条回答
网友
1楼 · 发布于 2024-04-23 14:11:26

您可以使用pip直接从git安装:

pip install -e git+http://192.168.1.1/git/packagename#egg=packagename

无论您是否使用virtualenv(您应该使用),这都适用。在

您还可以创建一个requirements.txt文件,其中包含您要安装的所有内容:

^{pr2}$

然后你就这样做:

pip install -r requirements.txt

因此,部署过程将包括获取requirements.txt文件,然后执行上述命令。添加virtualenv将使其更干净,而不是更容易;如果没有virtualenv,则会污染系统范围内的Python安装。virtualenv旨在提供一个解决方案,在各自不同的虚拟Python环境中运行多个应用程序;它与如何在该环境中实际安装应用程序没有多大关系。在

相关问题 更多 >