我的生产服务器无法访问互联网,因此将所有依赖项从我的开发机器复制到生产/开发服务器有点麻烦。
如果我使用 virtualenv,我将在这个环境中拥有所有依赖项。这样做我还可以将它部署在任何安装了 python 和 virtualenv 的机器上。
但我很少看到这种情况,而且看起来有点脏。我错了,这可能是一个很好的做法,还是有其他方法可以很好地解决这个问题?
我的生产服务器无法访问互联网,因此将所有依赖项从我的开发机器复制到生产/开发服务器有点麻烦。
如果我使用 virtualenv,我将在这个环境中拥有所有依赖项。这样做我还可以将它部署在任何安装了 python 和 virtualenv 的机器上。
但我很少看到这种情况,而且看起来有点脏。我错了,这可能是一个很好的做法,还是有其他方法可以很好地解决这个问题?
我会考虑三个选项:
使用您需要的依赖项运行您自己的PyPI 镜像。您实际上只需要构建文件布局并使用index-url
标志从本地服务器中提取:
$ pip install --index-url http://pypi.beastcraft.net/ numpy
在相同的架构上构建 virtualenvs 并根据需要复制它们。
这行得通,但是您要冒真正可移植性的风险。
使用terrarium构建虚拟环境,然后将它们带过来(基本上是选项 2,但更容易记账/自动化)。
我已经完成了所有这些工作,并且实际上认为托管自己的 PyPI 镜像是最好的选择。当您进行部署或尝试新代码时,它为您提供最大的灵活性。