目前,我正在用纯python编写自定义地理空间脚本/模块。它们被分发到我为之写作的公司内部的一个中等规模的用户群中。用户使用多种linux、OS X和windows,因此我需要能够支持安装到一系列系统。我的广泛依赖列表包括:
格达尔 带底图的Matplotlib 努比 西皮 皮尔 Python 2.7+
当其他用户是安装的联系人时,他们是如何为如此多样化的用户维护工具库的?目前正在考虑:
创建一个LUbuntu VM,包含我们需要的所有内容,并通过网络或在用户机器上本地运行它。
修改FWTools并添加我们需要的组件。FWTools的功能是在用户调用脚本时设置一个本地的、自包含的环境。
创建一个类似PythonEveryWhere的实现,让用户通过浏览器访问bashshell/python解释器。数据通过网络从用户的共享驱动器中提取,并将输出填充到该驱动器。
Pip/easy\u install/Py2EXE/Py2App已经过测试,但是它们要么在多个平台上都不是很好(GDAL是一个主要问题),要么由于依赖项的数量太多,所以创建了相当大的可分发性。
还有哪些实现适合您?我错过了一个明显的分布技术吗?你知道吗
http://www.pyinstaller.org/
它会阻塞整个Python运行时、脚本和依赖项等
缺点是应用程序启动需要一些时间,因为二进制必须将所有内容解压到内存中,然后从那里开始。你知道吗
好处显然很大:不需要维护脆弱的Python安装+依赖关系,因为二进制文件是自包含的。没有安装,什么都没有。你知道吗
相关问题 更多 >
编程相关推荐