无法在数据实验室笔记本中安装底图包

Can't install basemap package in datalab notebook

我正在尝试 运行 Google 需要底图的数据实验室 Jupyter 笔记本中的脚本,但我无法安装此包。 Yelsayed 指出该模块需要多个依赖项,但即使构建了这些依赖项,该模块也不会安装。

以下是我认为需要安装的依赖项:

!pip install Cython

!apt-get update && apt-get install -y gcc

!pip install pyproj

!pip install GEOS

这些安装没有事件。最后 Yelsayed 再次指出的底图本身需要完成以下操作:

!pip install https://downloads.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-1.0.7/basemap-1.0.7.tar.gz

这需要时间来安装并且看起来很有希望,但最终安装到 99% 然后输出 "killed":

Collecting https://downloads.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-1.0.7/basemap-1.0.7.tar.gz
Downloading https://downloads.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-1.0.7/basemap-1.0.7.tar.gz (129.7MB)
99% |############################### | 129.7MB 154kB/s eta 0:00:01Killed

最后的 "Killed" 似乎表明它最终没有奏效。它可靠地执行此操作,以相同的方式重新尝试上述调用失败。无论如何,我尝试导入模块,但仍然出现相同的错误:

ImportError: No module named basemap

为什么会发生这种情况,您如何在此环境中成功安装底图?

由于大小原因,basemap 似乎没有托管在 PyPI 上。查看 https://github.com/matplotlib/basemap.

上的安装说明

您可以直接使用他们的 link for v1.0.7:

!pip install https://downloads.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-1.0.7/basemap-1.0.7.tar.gz

编辑

这里还有一些安装先决条件的详细信息,运行笔记本单元中的以下所有内容:

地理位置:

最好的办法是直接从 apt 安装它以避免版本控制问题。你可以这样做:

%bash
apt-get update && apt-get install -y build-essential libgeos-3.4.2 libgeos-c1 libgeos++-dev

pyproj, pyshp

然后安装 python 依赖项,使用 pip 很容易:

%bash
pip install pyproj pyshp

底图

然后就可以使用上面的link安装底图包了:

%bash
!pip install https://downloads.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-1.0.7/basemap-1.0.7.tar.gz

然后您可以导入底图class:

from mpl_toolkits.basemap import Basemap

您可以在 Google Cloud Datalab Notebook

中编写这段代码来解决问题
! apt-get -y --allow-unauthenticated --fix-missing install python-mpltoolkits.basemap python-numpy python-matplotlib

Basemap 不随 google 数据实验室一起提供。

截至 2019 年 2 月,这适用于新的 google 数据实验室:

第 1 步:安装先决条件

  • !apt-get update && apt-get install -y --allow-unauthenticated build-essential libgeos-3.5.0 libgeos-c1v5 libgeos++-dev

注意:我尝试了 yelsayed 的示例,但是我的数据实验室找不到 libgeos-3.4.2,而 libgeos-c1 在我 运行 时已被弃用。我将这些值更新为 3.5.0 和 c1v5 并且它起作用了。我还必须添加允许未经身份验证的标签部分。

  • !pip install pyproj pyshp

第 2 步:安装整个包

  • !pip install https://downloads.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-1.0.7/basemap-1.0.7.tar.gz

第三步:检查包是否安装正确

  • !pip freeze

第 4 步:导入模块

  • from mpl_toolkits.basemap import Basemap