0

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

我想找到通过以下方式分发具有依赖关系的脚本的方法:

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

所有python分发方式都需要运行额外的脚本(tar.gz被拒绝),然后经常下载依赖项。

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

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

4

1 回答 1

0
  1. pip可以从本地 tarball 安装。您可以在需求文件中枚举它们;然后安装,从 virtualenv 中运行:

    pip install -r requirements.txt
    

    如果依赖项中有 C 扩展,那么您的开发人员应该安装了编译器和 python 头文件。

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

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

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

于 2012-07-06T16:16:33.483 回答