Distributing a large Python-enabled application: best practices
有一个大型的python应用程序,它由许多第三方包和二进制库组成。以下是我的要求概述:
- 跨平台(目前是Windows和现代Linux发行版)
- 安装大量二进制库(例如大于100 MB)(Windows上的DLL)
- 安装第三方python软件包(有些软件包不能使用
easy_install 等工具安装在Windows上) - 安装所需的Visual Studio可再发行软件包
- 如果可能,为我的包保留文件布局(没有压缩的鸡蛋)
- 删除所有包和库的清晰方法
- 分发测试套件(在我的例子中是
py.test ) - 无源分发选项(仅限
.pyc )
应用程序应该是"可移植的",至少是一个python包(可以使用virtualenv安装在任何地方)。
我的选择是什么?我应该坚持使用
正在开发的应用程序是专有的,但它为开发人员提供了PythonAPI,我希望它看起来和感觉尽可能像pythonish和hacker。
Py2Exe可以完成大多数先决条件和依赖项,以删除和额外的安装/卸载,您可以使用任何MSI安装程序创建者。