目前,我正在用纯 Python 编写自定义地理空间脚本/模块。这些分发给我为其写作的公司内部的中等规模的用户群。用户使用多种 linux、OS X 和 windows,因此我需要能够支持安装到一系列系统。我广泛的依赖项列表是:
GDAL 带 basemap 的 Matplotlib NumPy 科学比 太平船务 Python 2.7+
当其他用户是安装联系人时,他们如何为如此多样化的用户维护工具库?目前正在考虑中:
使用我们需要的一切创建一个 LUbuntu VM,然后通过网络运行它或在用户机器上本地运行。
修改 FWTools 并添加我们需要的组件。 FWTools 通过在用户调用脚本时设置一个本地的、独立的环境来发挥作用。
创建类似 PythonEveryWhere 的实现我们让用户通过浏览器访问 bash shell/python 解释器。数据通过网络从用户的共享驱动器中提取,并将输出填充到该驱动器。
Pip/easy_install/Py2EXE/Py2App 已经过测试,但要么在多个平台上表现不佳(GDAL 是一个主要问题),要么在考虑到依赖项数量的情况下创建相当大的可分发文件。
还有哪些其他实现方式适合您?我是否缺少明显的分发技术?
最佳答案
它吞噬了整个 Python 运行时、您的脚本和依赖项等。
缺点是应用程序启动需要一些时间,因为二进制文件必须将所有内容解压缩到内存中并从那里启动。
yield 显然很大:无需维护脆弱的 Python 安装 + 依赖项,因为二进制文件是自包含的。没有安装,什么都没有。
关于python - 支持中型发行版的 Python 脚本/依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13871340/