python - 支持中型发行版的 Python 脚本/依赖项?

标签 python numpy matplotlib distribution gdal

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

GDAL 带 basemap 的 Matplotlib NumPy 科学比 太平船务 Python 2.7+

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

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

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

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

  4. Pip/easy_install/Py2EXE/Py2App 已经过测试,但要么在多个平台上表现不佳(GDAL 是一个主要问题),要么在考虑到依赖项数量的情况下创建相当大的可分发文件。

还有哪些其他实现方式适合您?我是否缺少明显的分发技术?

最佳答案

http://www.pyinstaller.org/

它吞噬了整个 Python 运行时、您的脚本和依赖项等。

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

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

关于python - 支持中型发行版的 Python 脚本/依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13871340/

相关文章:

python 将数组添加到数据库

python - 有没有办法通过 zipimport 使用已编译的 C 模块?

python - for-loop + numpy.where 的向量化版本

python和pandas绘制两个日期索引值之间的图

python - 使用子图绘制 pandas 数据框时出现 IndexError

python - Python 2.7 与 3.x 中的函数

python - 包含多个语句的 Try 子句

python - 计算 numpy 中的广播形状

python - 加载到 pd.DataFrame 时日期时间的奇怪行为

python - matplotlib.pyplot 与 matplotlib.pylab