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

问题描述 投票:0回答:3

我正在尝试在需要底图的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%然后输出“已杀死”:

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

最后的“杀戮”似乎表明它最终没有奏效。它可靠地执行此操作,重新尝试上述调用以相同的方式失败。在任何情况下,我都提供了导入模块,但仍然得到相同的错误:

ImportError: No module named basemap

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

python jupyter-notebook google-cloud-datalab
3个回答
3
投票

由于大小,它看起来不像basemap托管在PyPI上。查看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

basemap

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

%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

3
投票

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

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

0
投票

开箱即用的谷歌数据库没有底图。

截至2019年2月,这是一个新的谷歌数据库:

第1步:安装先决条件

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

注意:我尝试了yelsayed的例子,但是我的datalab找不到libgeos-3.4.2,并且在我运行时不推荐使用libgeos-c1。我将这些值更新为3.5.0和c1v5并且它有效。我还必须添加allow unauthenticated标签部分。

  • !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
© www.soinside.com 2019 - 2024. All rights reserved.