部署python应用程序,并作为流程安装python,git,virtualenv在Windows上的一部分

时间:2016-06-01 19:23:22

标签: python windows deployment

我如何拥有一个自包含的安装文件来执行以下过程...

  1. 安装python 2.7(只需下载/启动python安装程序就不必自动化它只需获取并启动它)
  2. 安装Git(与上述相同)
  3. 安装PiP
  4. 安装Python Virtualenv
  5. 克隆回购
  6. 创建virtualenv
  7. 激活virtualenv
  8. pip安装需求文件夹
  9. 创建桌面快捷方式
  10. 我不是在寻找一个如何在部署刚刚完成的应用程序时尝试节省自己的100个步骤。在我编写任何自定义脚本之前,我想确保没有一个好的工具或最佳实践来处理这种设置过程。

    在过去,我刚刚冻结了我的应用程序,并使用像INNO这样的设置向导将它们部署为exe,但我真的很喜欢在用户计算机上删除repo,然后在新的时候让应用程序从主服务器中取出每次发布时都不需要重新打包和分发exe。

    我的另一个想法是将整个事情变成一个鸡蛋,然后将其部署为使用git repo从pip安装的python包。这似乎是最好的选择,但仍然让我安装所有要求。另一个缺点是我失去了virtualenv所以更新应用程序作为一个鸡蛋也会更新用户主python库中的需求,这对我来说并不合适。

    应用程序实际上通过比较本地版本号和相应的数据库版本号来更新自身。如果它们不匹配,git会提取更改,然后运行pip install -r requirements.txt来捕获可能需要的任何新包。

1 个答案:

答案 0 :(得分:1)

我们做了一些与此非常相似的事情。这就是我们所做的。创建安装python的安装程序(我们使用NSIS http://nsis.sourceforge.net/Main_Page)。安装python之后,我们运行一个执行其余步骤的python脚本。

一旦你的目标上有python,剩下的步骤就是小菜一碟。