首先让我解释一下目前的情况:
我们确实有几个python
应用程序,它们依赖于定制的(不是公开发布的)以及一般已知的包。这些依赖项都安装在system python
安装上。应用程序的分发通过git
按源完成。所有这些电脑都隐藏在一个公司网络中,不能上网。在
这种方法有点麻烦,因为它有以下缺点:
如何更好地部署应用程序?最近我还没看到解决方案。在
virtualenv
为我的应用程序创建一个干净的python instance
。我应该如何部署它,以便软件的用户可以轻松地启动它?在
应用程序内部是否应该有一个启动脚本来在启动期间创建virtualenv
?在
下一个问题是电脑不能上网。我知道我可以为包指定一个自定义位置(网络共享?)但这是正确的方法吗?或者我应该部署压缩包吗?在
另一种方法是发布整个python实例吗?所以用户不必启动virutalenv
?在这个python实例中,所有必要的包都将预先安装。在
由于我们的应用程序正在快速增长,我们有一个快速的发布周期(2周)。通过git
部署非常简单。用户可以通过一个更新脚本从stable
分支中获取最新版本-这是否仍然可行,或者是否有更好的方法?在
我知道有很多问题。希望有人能回答我或给我一些建议。在
您可以使用
pip
直接从git
安装:无论您是否使用
virtualenv
(您应该使用),这都适用。在您还可以创建一个
^{pr2}$requirements.txt
文件,其中包含您要安装的所有内容:然后你就这样做:
因此,部署过程将包括获取
requirements.txt
文件,然后执行上述命令。添加virtualenv
将使其更干净,而不是更容易;如果没有virtualenv
,则会污染系统范围内的Python安装。virtualenv
旨在提供一个解决方案,在各自不同的虚拟Python环境中运行多个应用程序;它与如何在该环境中实际安装应用程序没有多大关系。在相关问题 更多 >
编程相关推荐