爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2047|回复: 4

[经验总结] Windows下编译eccodes并使用原生python环境安装pygrib

[复制链接]

新浪微博达人勋

发表于 2023-7-13 15:52:40 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 yuyue1314 于 2023-7-13 16:19 编辑

一、需要的网址

1、visual studio 2022 https://visualstudio.microsoft.com/zh-hans/

2、Git https://git-scm.com/download/win

3、Cmake https://cmake.org/download/

4、Anaconda package网站 https://anaconda.org/conda-forge/repo

5、Strawberryperlhttps://strawberryperl.com/

6、Eccodes https://github.com/ecmwf/eccodes

7、Ecbuild https://github.com/ecmwf/ecbuild

二、准备工作

1、安装visual studio 2022

只需要安装C++模块。

图片2.png

2、安装Git 一路next,最后安装。

图片3.png

安装完后打开git的安装路径C:\Program Files\Git\bin,将此路径添加到系统环境变量,并尽量将其上移至system32以上。

图片4.png

3、安装cmke  安装时注意勾选添加到环境变量。

图片5.png

4、安装Strawberryperl

图片6.png

完成后将其添加到环境变量。

图片7.png

三、编译eccodes

1、解压eccodes-x.xx.x到创建好的文件夹

图片8.png

2、解压ecbuild-x.x.x到eccodes-x.xx.x同级的文件夹中并重命名为ecbuild

3、再在此文件夹内创建eccodes文件夹用于接收编译好的eccodes。

图片9.png


4、在eccodes-x.xx.x中创建build文件夹用于构建eccodes。

图片10.png

5、在开始菜单搜索并用管理员权限打开x64 Native Tools CommandPrompt for VS 2022开始编译(必须是x64的,否则nmake会是x86)

图片11.png

cd到刚才的build文件夹下,输入cmake../CMakeLists.txt -G "NMake Makefiles"D:/python/package/eccodes_package/eccodes-2.30.2-DCMAKE_INSTALL_PREFIX=D:/python/package/eccodes_package/eccodes-DCMAKE_BUILD_TYPE=Release -DENABLE_FORTRAN=OFF -DENABLE_JPG=OFF -DENABLE_NETCDF=OFF-DENABLE_AEC=OFF -DENABLE_EXAMPLES=OFF -DENABLE_MEMFS=OFF -DENABLE_TESTS=OFF-DENABLE_EXTRA_TESTS=OFF,路径以自己实际为准。

图片12.png


因为windows下很多动态库支持不友好,故关闭了fortran,jpg,netcdf,aec,并禁用了各项测试。我们用其支持pygrib运行所以nmake模式使用Release。

图片13.png

出现版本号和python库安装提示即为完成cmake。接下来输入nmake&&nmake install进行编译输出eccodes。如果成功刚才创建的eccodes输出文件夹会新建如图几个文件夹,在bin文件夹里可以找到eccodes.dll动态库。

图片14.png

图片15.png

四、安装pygrib

1、将刚才编译完成的eccodes放在熟知的位置并将其添加如环境变量,变量名如下图所示,路径以自己实际为准。

图片16.png

2、使用pip安装pygrib

图片17.png

3、安装成功后打开pygrib的安装路径(以自己实际为准,如果python路径为默认一般在C:\Users\xxx\AppData\Local\Programs\Python\Python3xx\Lib\site-packages\pygrib),将前面eccodes的bin文件夹里的eccodes.dll复制进去。

图片18.png

4、测试,找一个grib文件使用pygrib读取并画图放出conda的package是如果真想补全eccodes的支持库,可以去conda的package下载编译好的动态库,软链给eccodes重新编译。

图片19.png




eccodes-2.30.2.zip

17.65 MB, 阅读权限: 10, 下载次数: 56, 下载积分: 金钱 -5

售价: 1 贡献  [记录]

ecbuild-3.8.0.zip

466.38 KB, 阅读权限: 10, 下载次数: 2, 下载积分: 金钱 -5

售价: 1 贡献  [记录]

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

新浪微博达人勋

发表于 2023-7-14 15:35:32 | 显示全部楼层
Windows下,最新版本(2022.06之后)的eccodes和pygrib即可,IDE没关系anaconda等等什么都行
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2023-10-27 09:31:35 | 显示全部楼层
edwardli 发表于 2023-7-14 15:35
Windows下,最新版本(2022.06之后)的eccodes和pygrib即可,IDE没关系anaconda等等什么都行

怎么弄,有详细教程嘛
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2023-10-27 09:54:14 | 显示全部楼层
按教程试试看,看能安装成功没
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-8-9 10:51:47 | 显示全部楼层

按教程试试看,看能安装成功没
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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