在 Starcluster 中安装 Freeimage 插件

Install Freeimage plugin in Starcluster

如何在 Starcluster 集群中安装 Freeimage 库,以便它可以与 scikit-image 模块一起使用?

我使用 Starcluster 在 AWS 上设置了一个集群,我想 运行 一些需要使用 scikit-image 模块加载 .jp2 图像的脚本,这可以通过 Freeimage 库完成。执行此操作的命令是: skimage.io.imread("path/to/image.jp2", plugin='freeimage)。当我 运行 它在我的机器上时这有效。

我已经使用 Starcluster 配置文件中的 Python 包插件在我的集群中安装了 scikit-image,如 Starcluster documentation:

中所示
[plugin pypackages]
setup_class = starcluster.plugins.pypkginstaller.PyPkgInstaller
packages = networkx, scikit-learn, scikit-image

我还按照 documentation

中的说明将以下软件包安装到我的集群中
[plugin pkginstaller]
SETUP_CLASS = starcluster.plugins.pkginstaller.PackageInstaller
PACKAGES = libfreeimage3, libfreeimage-dev

但是当我在集群中 运行 skimage.io.imread("path/to/image.jp2", plugin='freeimage) 时,我收到以下错误消息:

RuntimeError: Could not find a FreeImage library in any of:
/usr/local/lib/python2.7/dist-packages/skimage/io/_plugins
/lib
/usr/lib
/usr/local/lib
/usr/lib

我正在使用 OS X.

我能够通过将 Starcluster AMI 上的 Ubuntu 安装更新到 Ubuntu 14.04 来解决这个问题。

问题是 Starcluster 的 AMI 目前正在使用 Ubuntu 13,显然不再受支持。这意味着通过 apt-get 安装软件包不再有效。

我能够按照以下视频中的说明使用 Ubuntu 14.04 创建 AMI:https://www.youtube.com/watch?v=2RBupgpi_ec。一旦我这样做了,我就能够按照问题中的描述毫无问题地安装 libfreeimage3 和 libfreeimage-dev。