无法在datalab笔记本中安装底图包

时间:2017-02-05 16:10:15

标签: python jupyter-notebook google-cloud-datalab

我试图在需要底图的Google datalab 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%然后输出" kill":

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

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

3 个答案:

答案 0 :(得分:3)

由于尺寸的原因,我不会在PyPI上托管basemap。查看https://github.com/matplotlib/basemap上的安装说明。

您可以直接使用v1.0.7的直接链接:

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

修改

以下是安装先决条件的更多细分,在笔记本单元格中运行以下所有内容:

GEOS:

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

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

pyproj,pyshp

然后使用pip轻松安装python依赖项:

%bash
pip install pyproj pyshp

底图

然后您可以使用上面的链接安装底图包:

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

然后您可以导入底图类:

from mpl_toolkits.basemap import Basemap

答案 1 :(得分:3)

您可以解决在Google Cloud Datalab笔记本中编写此代码的问题

! apt-get -y --allow-unauthenticated --fix-missing install python-mpltoolkits.basemap python-numpy python-matplotlib

答案 2 :(得分:0)

底图不是google datalab随附的。

自2019年2月起,此功能可在全新的Google数据实验室中使用:

第1步:安装必备组件

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

注意:我尝试了ysaysayed的示例,但是我的数据实验室找不到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

第3步:检查软件包是否已正确安装

  • !pip freeze

第4步:导入模块

  • from mpl_toolkits.basemap import Basemap