basemap安装报错解决方案
为了使用basemap,需要我们安装basemap和pyproj两个包。
其中可以用pip安装pyproj这个包,但是安装basemap这个子包会报错。
因此需要在pypi上下载源包进行安装。pypi的basemap下载地址
安装方法大家都知道的:切换到下载路径,pip install 包名
如果出现以下错误是因为没有安装geos环境。需要我们下载安装geos。
github上的geos位置
安装geos方法如下,参考的是kmblack1的博客。(第一次引用他人博客,不知道是不是附上原网址就行了,emmm)
tar -xf geos-3.7.0beta1.tar.gz
cd geos-3.7.0beta1
mkdir build
cd build
#指定安装位置
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/geos ..
#安装到系统默认的位置
cmake ..
make
sudo make install
#卸载
sudo make uninsall
---------------------
作者:kmblack1
来源:CSDN
原文:https://blog.csdn.net/kmblack1/article/details/81234291
版权声明:本文为博主原创文章,转载请附上博文链接!
安装完geos后,继续安装basemap源包,如果依然报以下错误
请打开basemap的压缩文件,找到根目录下的setup.py文件,用文本编辑器打开如下:
在我注释的两处的某一处添你安装的geos的lib文件夹的路径即可。
# set GEOS_dir manually here if automatic detection fails.
#在这里添加安装目录
GEOS_dir = None
if GEOS_dir is None:
# if GEOS_dir not set, check a few standard locations.
#或在这里添加安装目录
GEOS_dirs = [os.path.expanduser('~'),'/usr','/usr/local','/sw','/opt','/opt/local','/usr/local/geos']
for direc in GEOS_dirs:
geos_version = checkversion(direc)
sys.stdout.write('checking for GEOS lib in %s ....\n' % direc)
if geos_version is None or geos_version < '"3.1.1"':
continue
else:
sys.stdout.write('GEOS lib (version %s) found in %s\n' %\
(geos_version[1:-1],direc))
GEOS_dir = direc
break
else:
geos_version = checkversion(GEOS_dir)
整个过程完毕。
成功安装如下
很遗憾的是在运行程序是导入包依然会报错,
说上述路径下的libstdc++.so.6文件版本太老。于是需要跟新,由于我的ubuntu为了方便安装的是anaconda环境,可以利用conda install libgcc更新。
安装个包,一波三折,所以记录一下心得,免得以后换机器了又掉坑里。
版权声明:本文为senjie_wang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。