为开发人员和用户在其他产品中分发python帮助应用程序

时间:2012-07-06 12:47:55

标签: python distribution

主要产品有几个python脚本,可以帮助用户和开发人员使用主要应用程序。

我想找到方法以下列方式分发带有依赖项的脚本:

  • 产品的开发人员应该只获取存储库的副本,构建它,并获得可行的解决方案。无root访问权限,无法下载。
  • 产品的用户应该只获得tar.gz的副本,解压缩并使用。没有root访问权限,没有下载,没有可接受的额外构建步骤。
  • 产品用户应该获得rpm / deb软件包,安装并使用它。没有额外的下载可以接受。

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

因此,对于我的任务,我需要所有依赖项的python-fabric。 现在脚本用标准的python库编写并且非常难看,我想把它切换到结构。

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

1 个答案:

答案 0 :(得分:0)

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

    pip install -r requirements.txt
    

    如果依赖项中有C扩展,那么开发人员应该安装编译器,python标头。

  2. PyInstaller可以帮助您为用户捆绑二进制分发版。如果没有C扩展名;可以轻松创建存档,并准备好手动使用所有依赖项。

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

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