我们如何在Windows环境中构建和分发python脚本

Mat*_*ttK 14 python python-3.x

我的团队正在享受使用python为我们的业务解决问题.我们编写了许多小型独立脚本应用程序.

但是,我们必须有一个中央窗口框,与传统应用程序一起运行它们.

我们的挑战是经历构建和部署过程.

我们希望让Bamboo从git中检查脚本,安装需求并运行测试,如果全部是绿色,只需部署到我们的生产框.

我们希望将库从脚本分离到脚本,这样我们就不会遇到依赖性问题.

我们试图让virtualenvs变得便携,但这似乎是不行的.

Pex看起来很有前途,但它在Windows上不起作用.

理想情况下,你会看到一个像这样的文件夹:

AppOne
  /Script.py
  /Libs
    /bar.egg
    /foo.egg
AppTwo
  /Script2.py
  /Libs
    /fnord.egg
    /fleebly.py
Run Code Online (Sandbox Code Playgroud)

我们在想这个错吗?在企业中分发脚本的pythonic方法是什么?

Joh*_*fis 3

TL:DR:
使用Docker


一个长篇小故事:

您可以使用 docker 为要部署的每个脚本创建独立的映像。

您可以安装一个python 映像slim最轻的)作为每个脚本或一组脚本/应用程序的基本环境,并将其用作“virtualenv”,您可以在其中安装该脚本的所有依赖项。

还有Bamboo 和 Docker的集成,您可能会发现它很有用。

这里有Docker 文档供参考。

您可以在单独的容器中单独测试每个脚本,如果通过,则可以使用相同的容器将其部署在主服务器中。

这并不完全是您所要求的,但您可以在每个平台(Windows、Linux 等)中使用此解决方案,您可以将所有脚本部署到企业服务器(或与此相关的任何地方)并在整个公司使用它们。


免责声明:这不是解决方案,这是我知道的解决方案,适用于该答案的时间(2017)