在过去的两个小时中,我一直在尝试启动Basemap。在this tutorial之后,我跑步:
我在Pycharm上的conda install basemap
中的 venv
。安装按计划进行,我在术语栏中收到一条消息,指出已安装basemap-1.2.0。运行程序时:
Downloading and Extracting Packages
proj4-5.0.1 | 7.0 MB | ############################################################################################################################################################################################################################### | 100%
certifi-2018.10.15 | 139 KB | ############################################################################################################################################################################################################################### | 100%
libgcc-ng-8.2.0 | 7.6 MB | ############################################################################################################################################################################################################################### | 100%
libstdcxx-ng-8.2.0 | 2.9 MB | ############################################################################################################################################################################################################################### | 100%
pyshp-1.2.12 | 35 KB | ############################################################################################################################################################################################################################### | 100%
pyproj-1.9.5.1 | 64 KB | ############################################################################################################################################################################################################################### | 100%
openssl-1.0.2p | 3.5 MB | ############################################################################################################################################################################################################################### | 100%
conda-4.5.11 | 1.0 MB | ############################################################################################################################################################################################################################### | 100%
geos-3.6.2 | 1.6 MB | ############################################################################################################################################################################################################################### | 100%
basemap-1.2.0 | 15.2 MB | ############################################################################################################################################################################################################################### | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
Traceback (most recent call last):
File "/home/PycharmProjects/first_prog/venv/test.py", line 5, in <module>
from mpl_toolkits.basemap import Basemap
ModuleNotFoundError: No module named 'mpl_toolkits.basemap'
我看到一些答案,指出底图应为installed from source而不是使用conda,因此我从源代码安装了底图。
我首先安装了geos。从basemap-1.x.x目录中,我进入了geos目录并设置了GEOS_DIR环境变量。
basemap-1.x.x $ cd geos-3.3.3
basemap-1.x.x/geos-3.3.3 $ export GEOS_DIR=~/
basemap-1.x.x/geos-3.3.3 $ ./configure --prefix=$GEOS_DIR
basemap-1.x.x/geos-3.3.3 $ make <---- ERROR HERE
basemap-1.x.x/geos-3.3.3 $ make install
在运行make
命令时出现此错误:
Makefile:373: recipe for target 'IndexedPointInAreaLocator.lo' failed
make[4]: *** [IndexedPointInAreaLocator.lo] Error 1
make[4]: Leaving directory '/home/Downloads/basemap-1.0.7/geos-3.3.3/src/algorithm/locate'
Makefile:392: recipe for target 'check-recursive' failed
make[3]: *** [check-recursive] Error 1
make[3]: Leaving directory '/home/Downloads/basemap-1.0.7/geos-3.3.3/src/algorithm/locate'
Makefile:444: recipe for target 'check-recursive' failed
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory '/home/Downloads/basemap-1.0.7/geos-3.3.3/src/algorithm'
Makefile:476: recipe for target 'check-recursive' failed
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory '/home/Downloads/basemap-1.0.7/geos-3.3.3/src'
Makefile:368: recipe for target 'check-recursive' failed
make: *** [check-recursive] Error 1
有几种解决此错误的方法,但没有一种有效。我尝试使用CheckInstall,然后跟随this thread,尝试使用DNF,跟随这些commands等等,但是没有任何效果。
ImportError: Ubuntu 16.04.3 - Installing basemap module on python 2.7.12是相关的,但错误仍然存在。
installing Basemap与make
错误有关,但make: *** [all-recursive] Error 1
仍然存在。
我在做什么错?实际上安装底图很难吗?我完全被困在这里,非常感谢您的帮助。
答案 0 :(得分:0)
下面的方法应该起作用。您可以下载档案here。
pip install --upgrade --user matplotlib numpy pyproj pyshp OWSLib Pillow
sudo apt install libgeos-dev
pip install --user --upgrade basemap-1.2.0rel.tar.gz
答案 1 :(得分:0)
我发现此脚本对我有用。它与其他答案略有不同,因为它无需下载就可以下载并安装底图。
pip install --upgrade --user matplotlib numpy pyproj pyshp OWSLib Pillow
sudo apt-get update
sudo apt install libgeos-dev
pip install --user https://github.com/matplotlib/basemap/archive/master.zip
答案 2 :(得分:0)
我遇到了完全相同的问题:甚至是相同的错误。似乎当我使用更高版本的g ++ / gcc(〜v7.4)编译较旧版本的geos(对我来说约为3.3.0)时,就会出现此问题。
然后我去https://trac.osgeo.org/geos/并获得版本3.8.0的geos,并且仍然使用普通的gcc / g ++,一切都很好。
希望这可能对您和其他人有帮助。