我试图在需要底图的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
为什么会发生这种情况?如何在此环境中成功安装底图?
答案 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
修改
以下是安装先决条件的更多细分,在笔记本单元格中运行以下所有内容:
最好的办法是直接从apt
安装,以避免版本问题。你可以这样做:
%bash
apt-get update && apt-get install -y build-essential libgeos-3.4.2 libgeos-c1 libgeos++-dev
然后使用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