使用virtualenv进行Python部署(在无网络访问服务器上)

时间:2013-07-18 14:21:27

标签: python deployment virtualenv

我的生产服务器无法访问互联网,因此将我的开发机器中的所有依赖项复制到生产/开发服务器有点麻烦。

如果我使用virtualenv,我会在这个环境中拥有所有依赖项。这样做我也可以在任何有python和amp;的机器上部署它。 virtualenv安装。

但我很少见到这一点,而且看起来很脏。 我错了,这可能是一个很好的做法,还是有其他方法可以很好地解决这个问题?

1 个答案:

答案 0 :(得分:6)

我会考虑三个选项:

  1. 使用您需要的依赖项运行您自己的PyPI mirror。您实际上只需要使用index-url标志构建文件布局并从本地服务器提取:

    $ pip install --index-url http://pypi.beastcraft.net/ numpy

  2. 在同一架构上构建virtualenvs并根据需要复制它们。

    这样做有效,但你冒着真正的便携性风险。

  3. 使用terrarium构建虚拟环境然后将其结束(基本上是选项2,但更容易记账/自动化)。

  4. 我已经完成了所有这些并且实际上认为托管自己的PyPI镜像是最好的选择。当您进行部署或尝试新代码时,它为您提供了最大的灵活性。