3

目前,我正在用纯 python 编写自定义地理空间脚本/模块。这些分发给我所写的公司内部的中等规模的用户群。用户使用多种 linux、OS X 和 windows,因此我需要能够支持安装到一系列系统。我广泛的依赖项列表是:

GDAL Matplotlib 与底图 NumPy SciPy PIL Python 2.7+

当其他用户作为安装联系人时,他们是如何为如此多样化的用户维护一个工具库的?目前正在考虑:

  1. 使用我们需要的一切创建一个 LUbuntu VM,然后通过网络运行它或在用户机器上本地运行它。

  2. 修改 FWTools 并添加我们需要的组件。FWTools 通过在用户调用脚本时设置本地、自包含的环境来发挥作用。

  3. 创建一个像PythonEveryWhere这样的实现,我们让用户通过浏览器访问 bash shell / python 解释器。数据通过网络从用户的共享驱动器中提取,并将输出填充到该驱动器。

  4. Pip / easy_install / Py2EXE / Py2App 已经过测试,但在多个平台上都不是很好(GDAL 是一个主要问题),或者考虑到依赖项的数量,创建了相当大的可分发文件。

还有哪些其他实现对您有用?我是否缺少明显的分发技术?

4

1 回答 1

1

http://www.pyinstaller.org/

它会破坏整个 Python 运行时、脚本和依赖项等。

缺点是应用程序启动需要一些时间,因为二进制文件必须将所有内容解压缩到内存中并从那里开始。

收益显然很大:无需维护脆弱的 Python 安装 + 依赖项,因为二进制文件是自包含的。没有安装,什么都没有。

于 2013-01-18T17:41:41.593 回答