爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 28847|回复: 21

[经验总结] PyCinrad依赖库cartopy安装调试出现的问题分享

[复制链接]

新浪微博达人勋

发表于 2019-7-10 12:32:46 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 dongfangxing 于 2019-7-10 14:54 编辑

感谢大神@eeeee及雷达爱好者等人的辛苦工作和分享,为我们提供了一个很好的雷达数据显示和分析工具平台--PyCINRAD
1、[源代码] PyCINRAD模块安装指南(利用Anaconda3安装)
http://bbs.06climate.com/forum.p ... 88822&extra=&page=1
2、[源代码] PyCINRAD模块使用指南(发布1.4.1版本)
http://bbs.06climate.com/forum.p ... &tid=33601&digest=1

在安装过程中,有@小其其格的帖子帮助,刚开始一切比较顺利,当安装cartopy时按部就班下载最新版的Cartopy-0.17.0
下载网址:https://github.com/SciTools/cartopy/releases
当使用方法安装时:python setup.py install
出现问题:
D:\cartopy-0.17.0>python setup.py install
setup.py:171: UserWarning: Unable to determine GEOS version. Ensure you have 3.3.3 or later installed, or installation may fail.
  '.'.join(str(v) for v in GEOS_MIN_VERSION), ))
running install
running bdist_egg
running egg_info
writing lib\Cartopy.egg-info\PKG-INFO
writing dependency_links to lib\Cartopy.egg-info\dependency_links.txt
writing requirements to lib\Cartopy.egg-info\requires.txt
writing top-level names to lib\Cartopy.egg-info\top_level.txt
reading manifest file 'lib\Cartopy.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'README.rst'
writing manifest file 'lib\Cartopy.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_py
UPDATING build\lib.win-amd64-3.7\cartopy/_version.py
set build\lib.win-amd64-3.7\cartopy/_version.py to '0.17.0'
running build_ext
skipping 'lib/cartopy\trace.cpp' Cython extension (up-to-date)
building 'cartopy.trace' extension
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -I. -I./lib/cartopy -IC:\ProgramData\Anaconda3\include -IC:\ProgramData\Anaconda3\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\cppwinrt" -IC:\MSDEV\INCLUDE /EHsc /Tplib/cartopy\trace.cpp /Fobuild\temp.win-amd64-3.7\Release\lib/cartopy\trace.obj
trace.cpp
lib/cartopy\trace.cpp(606): fatal error C1083: 无法打开包括文件: “geos_c.h”: No such file or directory
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.21.27702\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2D:



在网上搜索和友人帮助下发现:采用以下安装方式将cartopy所需要的库也可以一起安装好
conda install -c conda-forge cartopy
https://scitools.org.uk/cartopy/docs/latest/installing.html#installing

等cartopy和其他依赖的库都安装以后,开始调试PPI和PPI.VCS,居然有出现了问题了,提示如下:
Traceback (most recent call last):
& nbsp; File "ppi.py", line 56, in <module>
& nbsp;   liner = fig.geoax.gridlines(draw_labels=True,linewidth=2, color='gray', alpha=0.5, linestyle='--')
& nbsp; File "C:\ProgramData\Anaconda3\lib\site-packages\cartopy\mpl\geoaxes.py", line 1224, in gridlines
& nbsp;   ylocator=ylocs, collection_kwargs=kwargs)
& nbsp; File "C:\ProgramData\Anaconda3\lib\site-packages\cartopy\mpl\gridliner.py", line 185, in __init__
& nbsp;   self._assert_can_draw_ticks()
& nbsp; File "C:\ProgramData\Anaconda3\lib\site-packages\cartopy\mpl\gridliner.py", line 399, in _assert_can_draw_ticks
& nbsp;   'supported.'.format(prj=self.axes.projection))
TypeError: Cannot label gridlines on a AzimuthalEquidistant plot.  Only PlateCarree and Mercator plots are currently supported.
当时心情,那叫一个奔溃啊

赶紧上网搜和请教大侠,网上发帖子提问,Anaconda3也重新安装一篇,还是这样。
网上帖子也给搜出来了,这个问题存在很长时间了,各位大侠各显神通,出了各种主义,具体见:https://github.com/SciTools/cartopy/issues/881
后来有一篇帖子中看到了希望:https://github.com/SciTools/cartopy/pull/1089

于是到:https://github.com/SciTools/Cartopy
选择:codes-->clone or download-->下载 cartopy-master.zip-->解压-->将lib/cartopy/mpi里面的py文件复制到已安装好的库文件里面
我的是:C:\ProgramData\Anaconda3\pkgs\cartopy-0.17.0-py37h814cdbc_1004\Lib\site-packages\cartopy\mpl

测试PPI.VCS.py
这次成功了,上图


ppi.VCS.png

评分

参与人数 1金钱 +30 贡献 +2 收起 理由
风往北吹 + 30 + 2 赞一个!

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-7-10 13:18:31 | 显示全部楼层
厉害厉害厉害
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-7-10 14:32:53 | 显示全部楼层
手动点赞!!!
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2019-7-17 09:02:34 | 显示全部楼层
多谢楼主,学习了!!!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-7-23 11:23:17 | 显示全部楼层
多谢!我遇到的问题跟楼主的很像,也都照着一步步解决了,但是现在做了“将lib/cartopy/mpi里面的py文件复制到已安装好的库文件里面”以后执行程序出现下面的问题,请问楼主怎么改错呀:

Traceback (most recent call last):
  File "C:/liuming/20190704-人工影响天气指挥作业系统/PyCINRAD-master/test3.py", line 4, in <module>
    ax = plt.axes(projection=ccrs.Robinson(central_longitude=150))
  File "C:\liuming\20190312\Anaconda3\lib\site-packages\matplotlib\pyplot.py", line 876, in axes
    return subplot(111, **kwargs)
  File "C:\liuming\20190312\Anaconda3\lib\site-packages\matplotlib\pyplot.py", line 1084, in subplot
    a = fig.add_subplot(*args, **kwargs)
  File "C:\liuming\20190312\Anaconda3\lib\site-packages\matplotlib\figure.py", line 1349, in add_subplot
    self, *args, **kwargs)
  File "C:\liuming\20190312\Anaconda3\lib\site-packages\matplotlib\projections\__init__.py", line 83, in process_projection_requirements
    projection_class, extra_kwargs = projection._as_mpl_axes()
  File "C:\liuming\20190312\Anaconda3\lib\site-packages\cartopy\crs.py", line 185, in _as_mpl_axes
    import cartopy.mpl.geoaxes as geoaxes
  File "C:\liuming\20190312\Anaconda3\lib\site-packages\cartopy\mpl\geoaxes.py", line 49, in <module>
    import cartopy.mpl.contour
ModuleNotFoundError: No module named 'cartopy.mpl.contour'
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-7-23 11:29:43 | 显示全部楼层
从网上查了资料,我用下面的程序测试cartopy,发现是一样的问题,但是mpl里的我都替换了啊
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
# set projection
ax = plt.axes(projection=ccrs.Robinson(central_longitude=150))
# plot coastlines & gridlines
ax.coastlines()
ax.gridlines(linestyle='--')
# show figure
plt.show()

执行后报错:

Traceback (most recent call last):
  File "C:/liuming/20190704-人工影响天气指挥作业系统/PyCINRAD-master/test3.py", line 4, in <module>
    ax = plt.axes(projection=ccrs.Robinson(central_longitude=150))
  File "C:\liuming\20190312\Anaconda3\lib\site-packages\matplotlib\pyplot.py", line 876, in axes
    return subplot(111, **kwargs)
  File "C:\liuming\20190312\Anaconda3\lib\site-packages\matplotlib\pyplot.py", line 1084, in subplot
    a = fig.add_subplot(*args, **kwargs)
  File "C:\liuming\20190312\Anaconda3\lib\site-packages\matplotlib\figure.py", line 1349, in add_subplot
    self, *args, **kwargs)
  File "C:\liuming\20190312\Anaconda3\lib\site-packages\matplotlib\projections\__init__.py", line 83, in process_projection_requirements
    projection_class, extra_kwargs = projection._as_mpl_axes()
  File "C:\liuming\20190312\Anaconda3\lib\site-packages\cartopy\crs.py", line 185, in _as_mpl_axes
    import cartopy.mpl.geoaxes as geoaxes
  File "C:\liuming\20190312\Anaconda3\lib\site-packages\cartopy\mpl\geoaxes.py", line 49, in <module>
    import cartopy.mpl.contour
ModuleNotFoundError: No module named 'cartopy.mpl.contour'
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-7-24 14:21:59 | 显示全部楼层
问大佬们一个问题。
在安装cartopy-master之前,是不是必须先安装 proj啊。我在安装的时候,提示一句话“Proj 4.9.0 must be installed.”
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-7-24 15:24:03 | 显示全部楼层
另外一个模块(Metpy)安装的问题:
Metpy安装完后出现,Finished processing dependencies for MetPy==0+unknown。

这个是什么意思,看起来安装挺顺畅的。但是conda list里面也看不到这个模块,说明应该没装上。

改用conda install Metpy。提示:
PackagesNotFoundError: The following packages are not available from current channels:

  - metpy

Current channels:

  - https://repo.anaconda.com/pkgs/main/win-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/r/win-64
  - https://repo.anaconda.com/pkgs/r/noarch
  - https://repo.anaconda.com/pkgs/msys2/win-64
  - https://repo.anaconda.com/pkgs/msys2/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

是不是说到  https://anaconda.org    这个地方着metpy模块啊。

问的问题让大家见笑了,实在是不熟悉,但是又想要玩python

多谢各位高人。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-7-24 16:51:26 | 显示全部楼层
Cartopy 直接用conda install 安装
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-7-24 21:55:52 | 显示全部楼层
Masterpiece 发表于 2019-7-24 16:51
Cartopy 直接用conda install 安装

嗯哪,后来用这个方法装,之后就没有提示问题,list中也能看到有这个模块了。
现在就Metpy模块了,python装法和conda装法都应该没装上,list中没有显示。现在还在找问题。您知道是啥原因吗?我在您的楼上提了这个问题了。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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