目前,我正在使用纯python编写自定义地理空间脚本/模块。这些内容分发给我所写公司内部的中等规模的用户群。用户有多种类型的linux,OS X和Windows,因此我需要能够支持安装到一系列系统。我的广泛依赖列表是:
GDAL Matplotlib与底图 NumPy的 SciPy的 PIL Python 2.7 +
当其他用户作为安装联系人时,如何为这么多用户维护一个工具库?目前正在考虑中:
使用我们需要的所有内容创建一个LUbuntu VM,并通过网络运行或在用户的计算机上本地运行。
修改FWTools并添加我们需要的组件。当用户调用脚本时,FWTools通过设置本地自包含环境来起作用。
创建一个类似PythonEveryWhere的实现,让用户通过浏览器访问bash shell / python解释器。数据通过网络从用户的共享驱动器中提取,输出填充到该驱动器。
Pip / easy_install / Py2EXE / Py2App已经过测试,但在多个平台上都不是很好(GDAL是一个主要问题),或者根据依赖项的数量创建相当大的可分发项。
还有哪些其他实施方案适合您?我错过了一种明显的分配技术吗?
答案 0 :(得分:1)
它会影响整个Python运行时,脚本和依赖项等。
缺点是应用程序启动需要一些时间,因为二进制文件必须将所有内容解压缩到内存中并从那里开始。
增益显然很大:不需要维护脆弱的Python安装+依赖,因为二进制是自包含的。没有安装,没有。