爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 15306|回复: 9

[经验总结] Python的Basemap安装总结

[复制链接]

新浪微博达人勋

发表于 2020-1-11 10:24:06 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
主要参考内容:
最新Basemap(linux)下载地址:https://github.com/matplotlib/basemap/releases
Basemap(windows)下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#basemap
这次在linux服务器上装Basemap,遇到好多困难,总结一下:
1、首先说一下服务器情况,64位的Centos,自带了2.7的python,其他人给装了一个python3.6,但是没用过,只装了numpy等少数几个库。开始就在python3.6下安装basemap1.1.0,对着教程和报错用pip安装了matplotlib、pyproj、pyshp等库,然后basemap安装上了,但是在调用的时候显示matplotlib有问题,考虑到好多匹配的库都没有,所以就想用anaconda直接安装,所以就把python3.6删掉了。
2、从anaconda官网下载了最新的linux版本(Anaconda3-2019.10-Linux-x86_64.sh),然后用
bash Anaconda3-2019.10-Linux-x86_64.sh
直接安装,之后需要配置anaconda的环境在.bashrc中最后面添加
export PATH=/root/anaconda3/bin:$PATH  (路径换成自己的)
然后记得source .bashrc 。
之后参考卢明冬博客中的步骤进行。
解压下载的basemap,安装依赖库,安装GEOS,安装GEOS的时候
export GEOS_DIR=/usr/local 这一步应该是很重要的,因为在basemap的setup.py中有用到GEOS_DIR这个参数,照着一步步执行就可以了。
但是安装basemap,执行python setup.py install的时候报错,
出现“error:‘PyThreadState’ has no member named ‘exc_type’”这样的错误,之后就开始差错,网上有很多相关提示,有的说是cython的问题,有的说是gcc g++的问题,比较有用的参考如下:
但是都没有解决我的问题,也问了大神,说可能是版本的问题,让多尝试几个版本试试看,就开始尝试basemap1.0.7和1.1.0,pyproj、pyshp、cython的各种版本,还对比了linux下各种库版本与windows下版本的差别,尝试了一天都没有进展,一直报‘PyThreadState’ has no member named ‘exc_type’ 这个错误。
3、第二天不经意间注意到basemap的linux最新版本其实不是1.1.0,是1.2.1,之前被latest release给影响了,同时联想到windows下用的就是1.2.1,而一开始basemap1.1.0在python3.6下能安装成功,所以觉得应该是basemap版本问题。
然后熟练的重新安装basemap(感受一下熟练二字的心酸),没有遇到问题,只是在
python setup.py install
的时候报了一串红字,说gzip什么的,但是没有error。
然后尝试跑basemap的example,结果提示“No module named 'mpl_toolkits.basemap'”,然后看了一下linux的anaconda里面mpl_toolkits的文件夹,与windows中对比果然没有basemap的文件夹,这个地方我怀疑是我刚才报红字,解压的问题,但是我也没管,直接从windows下复制了basemap文件夹过来。
再尝试运行example就没问题了,再尝试跑自己的程序也没问题。
至此彻底搞定!
总结下来主要问题是python3.6 对应basemap1.1.0,python3.7对应basemap1.2.1,python3.7不能对应低版本的basemap,至于3.6能不能对应高版本的basemap就不知道了,回头再尝试一下。
再顺便说一下windows下装basemap,好像没遇到啥困难,下载下来basemap-1.2.1的whl,直接装就可以了,提示什么错误就再配合装其他的库如pyproj、pyshp等够了,环境主要依靠anaconda。

basemap版本

basemap版本

卢东明博主博客中的步骤

卢东明博主博客中的步骤
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2020-3-13 17:24:54 | 显示全部楼层
感谢楼主的分享!~
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-4-12 00:09:37 | 显示全部楼层
今天在Ubuntu 18.04.2上安装basemap遇到了新的问题,在GEOS中执行make的时候,提示“Can not compile without isnan function or macro”,搜解决办法的时候,搜到 https://www.jianshu.com/p/e08dbc60a3b2 让在geos解压的文件中,找到/include/config.h,编辑该文件,取消#undef HAVE_ISNAN的注释,但是并没有用处,然后谷歌之,找到 https://gis.stackexchange.com/qu ... eos-on-ubuntu-18-04 ,提示说在./configure之前执行 export CXX="g++ -std=c++98" 就不报错了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-4-25 00:12:54 | 显示全部楼层
遇到过类似问题,matplotlib最新版本与basemap不匹配,mpl降级安装解决
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-10-16 20:55:11 | 显示全部楼层
遇到一样的问题,用你的方法成功解决了,感谢你的分享!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-10-19 09:19:16 | 显示全部楼层
llkx 发表于 2020-10-16 20:55
遇到一样的问题,用你的方法成功解决了,感谢你的分享!

{:5_255:}
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-11-20 14:30:13 | 显示全部楼层
Basemap 库太老了吧,安装太费劲。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-11-20 16:34:11 | 显示全部楼层
Rainch 发表于 2020-11-20 14:30
Basemap 库太老了吧,安装太费劲。

现在都用啥呀?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-11-23 08:52:49 | 显示全部楼层

安装总报错,是什么原因呢?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-11-23 15:30:52 | 显示全部楼层
本帖最后由 Rainch 于 2020-11-23 15:53 编辑

windows系统下安装Basemap库 需要查看当前python支持的版本后,下载相应的安装文件,否则 会出现 is not a supported wheel on this platform 错误提示。
只向下兼容。如果python是3.8版本的,你下载 (basemap-1.2.2-cp39-cp39-win_amd64.whl )是徒劳的。
只能下载basemap-1.2.2-cp38-cp38-win_amd64.whl
查看命令:(适用python3.X)
pip debug --verbose
显示如下
WARNING: This command is only meant for debugging. Do not use this with automation for parsing and getting these details, since the output and options of this command may change without notice.
pip version: pip 20.2.4 from e:\pythonexmples\venv\lib\site-packages\pip (python 3.8)
sys.version: 3.8.1 (tags/v3.8.1:1b293b6, Dec 18 2019, 23:11:46) [MSC v.1916 64 bit (AMD64)]
sys.executable: e:\pythonexmples\venv\scripts\python.exe
sys.getdefaultencoding: utf-8
sys.getfilesystemencoding: utf-8
locale.getpreferredencoding: cp936
sys.platform: win32
sys.implementation:
  name: cpython
'cert' config value: Not specified
REQUESTS_CA_BUNDLE: None
CURL_CA_BUNDLE: None
pip._vendor.certifi.where(): e:\pythonexmples\venv\lib\site-packages\pip\_vendor\certifi\cacert.pem
pip._vendor.DEBUNDLED: False
vendored library versions:
  appdirs==1.4.4
  CacheControl==0.12.6
  colorama==0.4.3
  contextlib2==0.6.0.post1 (Unable to locate actual module version, using vendor.txt specified version)
  distlib==0.3.1
  distro==1.5.0 (Unable to locate actual module version, using vendor.txt specified version)
  html5lib==1.1
  ipaddress==1.0.23
  msgpack==1.0.0 (Unable to locate actual module version, using vendor.txt specified version)
  packaging==20.4
  pep517==0.8.2
  progress==1.5
  pyparsing==2.4.7
  requests==2.24.0
  certifi==2020.06.20
  chardet==3.0.4
  idna==2.10
  urllib3==1.25.9
  resolvelib==0.4.0
  retrying==1.3.3 (Unable to locate actual module version, using vendor.txt specified version)
  setuptools==44.0.0 (Unable to locate actual module version, using vendor.txt specified version)
  six==1.15.0
  toml==0.10.1
  webencodings==0.5.1 (Unable to locate actual module version, using vendor.txt specified version)
Compatible tags: 30
  cp38-cp38-win_amd64
  cp38-abi3-win_amd64
  cp38-none-win_amd64
  cp37-abi3-win_amd64
  cp36-abi3-win_amd64
  cp35-abi3-win_amd64
  cp34-abi3-win_amd64
  cp33-abi3-win_amd64
  cp32-abi3-win_amd64
  py38-none-win_amd64
  py3-none-win_amd64
  py37-none-win_amd64
  py36-none-win_amd64
  py35-none-win_amd64
  py34-none-win_amd64
  py33-none-win_amd64
  py32-none-win_amd64
  py31-none-win_amd64
  py30-none-win_amd64
  cp38-none-any
  py38-none-any
  py3-none-any
  py37-none-any
  py36-none-any
  py35-none-any
  py34-none-any
  py33-none-any
  py32-none-any
  py31-none-any
  py30-none-any

密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表