2012-07-06 50 views
0

主要产品有几个帮助用户和开发人员使用主应用程序的python脚本。为开发人员和用户分发其他产品中的python帮助程序应用程序

我想找到办法以下列方式分发此脚本与依赖关系:

  • 产品的开发人员应该只得到库的副本,建造它,并接收可行的解决方案。没有root权限,没有下载可以接受。
  • 产品的用户应该只需获取tar.gz的副本,将其解包并使用。没有root访问权限,没有下载,没有其他构建步骤可以接受。
  • 产品的用户应该只是得到一个rpm/deb包,安装它并使用它。没有额外的下载可接受

所有的python发布方式都需要运行其他脚本(它被tar.gz拒绝),然后经常下载依赖关系。

因此,对于我的任务,我需要具有所有依赖关系的python结构。 现在脚本用标准的Python库编写,非常难看,我想将它切换到结构。

如何正确支持所有这些要求?

回答

0
  1. pip可以从本地tarball安装。你可以在a requirements file中列举它们;然后从内virtualenv中安装,运行:

    pip install -r requirements.txt 
    

    如果有依赖关系间的C扩展那么你的开发人员应该有一个编译器,安装蟒蛇头。

  2. PyInstaller可以帮助您为用户打包二进制分发。如果没有C扩展名;创建具有所有依赖项的档案很容易,可以手动使用。

  3. pkgme可能会帮助您自动化Ubuntu的包装。您也可以使用stdeb手动生成.deb文件。

一个有意义setup.py描述的依赖关系,脚本入口点等是上述所有的先决条件。

相关问题