python依赖+部署工具?

Dir*_*irk 5 python deployment dependencies web-deployment dependency-management

有没有人知道在Python中处理模块依赖性+部署的工具?

细节:通过处理,我的意思是:

  • 列表中,
  • 跟踪和
  • 为我捆绑一个zip /可安装文件.
  • 重新部署在另一个系统上是很容易的(例如:在部署文件中包含正确版本的所有模块,而不必去某个地方获取它们*).
  • 如果我要做一些改变环境的事情,请提醒我.
  • 它必须始终遵循模块依赖关系,而不仅仅是一个层次.
  • 还有一些我可能没有想过的东西.

  • 我不是在谈论Virtualenv,Fabric,pip freeze**和(我不认为)Paver.

今晚我试着计算Pylons所依赖的模块.在绕过Snakefood和Graphviz之后,答案是很多.100+(和Snakefood没有得到它们).

随着我越来越多地使用Python,手动处理这个问题开始占用我的时间比我想要的更多,而且它是不可靠的.

如果重要,我在Windows 7上使用Python 2.7.

* I know this will introduce some artifacts.  
** Combining virtualenv and pip freeze goes some way to solving this, but it's still not what I am looking for. 
Run Code Online (Sandbox Code Playgroud)

Kei*_*ith 5

Setuptools加上pypi就是这样做的.setuptools是一个增强的distutils,您可以使用它来指定依赖项.例如,在设置功能中:

install_requires = ['simplejson>=2.0,==dev'],
Run Code Online (Sandbox Code Playgroud)

使用easy_install时会引入依赖关系.


sat*_*esh 2

由于您使用的是 Windows,请查看py2exe。py2exe常见问题解答中有一些有趣的内容:

py2exe 如何决定您需要哪些模块?
要确定哪些模块应放入最终的 .exe 文件中,py2exe
对您正在打包的脚本进行递归搜索以查找
它的依赖项,以及它们的所有依赖项。