我正在考虑一个运送我的应用程序的好方法,这是一个python包。安装我的包很容易使用pythons distutils包。
麻烦来自我的包依赖的依赖项。如果依赖是python包我可以使用distutils再次轻松处理它们,但非python包?他们中的一些人在构建和安装它们时甚至需要非常小心,因为需要设置非常特殊的编译器标志等等......
如果我想为用户自动化安装过程,最好的方法是什么?
提前获得任何答案或建议
答案 0 :(得分:5)
我们有一个名为Kivy(http://kivy.org/)的项目,它有完全相同的问题。在早期阶段,我们已经完成了一个包含每个依赖项的每个设置的一体化包。然而,用户有很多“下一个>”按钮单击...为每个代表(Windows)。所以现在,我们已经设法照顾自己的依赖。
除了linux相关(因为我们所有的deps已经打包在“linux”上),我们采用了为每个平台管理我们命名为“portable-deps”zipfile的方法。然后,我们有一个脚本:
使用MacOSX的特殊情况,其中zip是一个带有少量UI的dmg。
好处是用户不必关心deps,开发人员确切地知道项目提供了什么二进制文件:)
有关信息,我们为distutils提供了build_portable命令:
答案 1 :(得分:4)
帮助您决定的最重要的事情是考虑您的受众群体。
他们是否具有技术倾向,并且可能会遵循指定如何自己构建依赖项的说明?如果是这样,请使用(3)。如果没有,编写python或shell脚本或makefile来自动完成任务可能就是这样。选择你觉得最舒服的选择。