安装依赖项的最佳实践?

时间:2011-05-02 09:33:19

标签: python installation dependencies

我正在考虑一个运送我的应用程序的好方法,这是一个python包。安装我的包很容易使用pythons distutils包。

麻烦来自我的包依赖的依赖项。如果依赖是python包我可以使用distutils再次轻松处理它们,但非python包?他们中的一些人在构建和安装它们时甚至需要非常小心,因为需要设置非常特殊的编译器标志等等......

如果我想为用户自动化安装过程,最好的方法是什么?

  1. 编写下载并安装依赖项的make文件
  2. 编写一个安装依赖项的脚本
  3. 没有自动化是最好的。只需编写一本手册,告诉用户如何安装 依赖
  4. ???
  5. 提前获得任何答案或建议

2 个答案:

答案 0 :(得分:5)

我们有一个名为Kivy(http://kivy.org/)的项目,它有完全相同的问题。在早期阶段,我们已经完成了一个包含每个依赖项的每个设置的一体化包。然而,用户有很多“下一个>”按钮单击...为每个代表(Windows)。所以现在,我们已经设法照顾自己的依赖。

除了linux相关(因为我们所有的deps已经打包在“linux”上),我们采用了为每个平台管理我们命名为“portable-deps”zipfile的方法。然后,我们有一个脚本:

  1. 下载portable-deps zip
  2. 包括我们项目的最新版本
  3. 在根目录中添加启动器脚本
  4. 压缩根目录,并将zip重命名为project - .zip
  5. 使用MacOSX的特殊情况,其中zip是一个带有少量UI的dmg。

    好处是用户不必关心deps,开发人员确切地知道项目提供了什么二进制文件:)

    有关信息,我们为distutils提供了build_portable命令:

答案 1 :(得分:4)

帮助您决定的最重要的事情是考虑您的受众群体。

他们是否具有技术倾向,并且可能会遵循指定如何自己构建依赖项的说明?如果是这样,请使用(3)。如果没有,编写python或shell脚本或makefile来自动完成任务可能就是这样。选择你觉得最舒服的选择。