Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在其他产品中为开发人员和用户分发python helper应用程序_Python_Distribution - Fatal编程技术网

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

在其他产品中为开发人员和用户分发python helper应用程序,python,distribution,Python,Distribution,主产品有几个python脚本,可以帮助用户和开发人员使用主应用程序 我希望找到一种方法,通过以下方式分发此脚本和依赖项: 产品的开发人员只需获得一个存储库副本,构建它,并获得可行的解决方案。没有根访问权限,不接受下载 产品的用户只需获得tar.gz的一份副本,将其解包并使用即可。没有根访问权限,没有下载,没有其他可接受的构建步骤 该产品的用户只需获得rpm/deb软件包,安装并使用它即可。不接受其他下载 所有python发行版都需要运行额外的脚本(tar.gz拒绝),然后经常下载依赖项 因此

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

我希望找到一种方法,通过以下方式分发此脚本和依赖项:

  • 产品的开发人员只需获得一个存储库副本,构建它,并获得可行的解决方案。没有根访问权限,不接受下载
  • 产品的用户只需获得tar.gz的一份副本,将其解包并使用即可。没有根访问权限,没有下载,没有其他可接受的构建步骤
  • 该产品的用户只需获得rpm/deb软件包,安装并使用它即可。不接受其他下载
所有python发行版都需要运行额外的脚本(tar.gz拒绝),然后经常下载依赖项

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

如何正确支持所有这些需求

  • pip
    可以从本地tarball安装。你可以把它们一一列举出来;然后要安装,请在virtualenv中运行:

    pip install -r requirements.txt
    
    如果依赖项之间有C扩展,那么开发人员应该安装一个编译器,即python头

  • 可以帮助您为用户捆绑二进制发行版。如果没有C扩展;创建归档文件很容易,所有依赖项都可以手动使用

  • 可能会帮助您自动打包Ubuntu。您还可以使用手动生成.deb文件

  • 描述依赖关系、脚本入口点等的有意义的
    setup.py
    是实现上述所有功能的先决条件