赞
踩
自从NCL停更之后,python的知名度都不断提高了,我也开始了python学习之旅,但是还没开始,就被如何安装Pyngl和Pynio给困住了。网上和官网给的教程都是Linux系统或者OS系统,有老板服务器的同学压根不用担心这个问题,没有任何影响。但是没有服务器就有点惆怅了。
我想到电脑上安装了Aanconda,那能不能安装PyNIO和PyNgl呢,果不其然出错了,这到底是什么原因?我接着输入anaconda search -t conda pyngl,查看pyngl各个版本信息,发现4个pyngl和pynio安装包根本就没有windows系统的版本,而windows里面安装的环境都是windows下的。因此这就是导致windows系统不能安装Pyngl和Pynio的原因。
但尽管如此,如果你的电脑是Win10版本,那么你仍然可以安装这两个包。方法是
点击后会自动安装环境。
第二种方法是在win10 命令行内进行安装。Win+R打开cmd,输入bash回车,然后选择y即可安装。
注意:
(1)刚刚安装好Windows 10版本,Linux子系统可能没有处于启用状态。或者安装好linux子系统之后,打开之后输入任意键就闪退了。这时管理员权限的命令提示符(或PowerShell)下输入下面代码,确保子系统可用,然后重启。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
(2)如果输入bash安装失败,可用lxrun /install /y,即以root登录。
对原始文件备份:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
编辑源配置文件/etc/apt/sources.list,可以用vi编辑,讲文本内容替换为:
- deb https://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
- deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
- deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
- deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
保存运行:sudo apt-get update
2. 安装miniconda或者Aanconda环境
注:默认安装的linux子系统的目录在C:UsersyxkAppDataLocalPackagesCanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgscLocalStaterootfshome
3. 安装NCL及PyNgl、PyNio
输入:conda create --name pyn_env --channel conda-forge pynio pyngl
或者conda create -n ncl_to_python -c conda-forge xarray netcdf4 scipy pyngl pynio ncl即可。
可发现miniconda3envs下多了pyn_env或者ncl_to_python文件。
调用:需要调用PyNgl、PyNio包的时候,输入source activate pyn_env或source activate ncl_to_python,然后输入python xxx.py脚本即可以运行。
注:有时候发现安装pyn_env和ncl_to_python之后,输入import Nio时报错,如下图:
此时的解决方法是:conda create --name pyn_env --channel conda-forge/label/cf201901 pynio pyngl 来下载pyn_env。至于ncl_to_python目前还没有很好的解决方法。但是ncl_stable+pyn_env的功能=ncl_to_python
问题一:找到根目录之后,新建或者复制了文件数据之后,打开ubuntu,为什么输入ls看不到相应的文件?
解答:这个问题确实存在,这是linux 子系统的一个bug。你关闭ubunt终端之后重启,在此打开进入该目录下输入ls,即可以看到新建或者复制的文件了。
总结:有任何文件的更改,特别是通过windows环境下的复制粘贴以及新建的方式,一定得重启ubuntu终端才能生效。
问题二:如何进入C盘或者D盘,输入cd D:会报错,使用cd ../../../一直后退也不行,只能到根目录下面就停止了,那是不是只能在根目录下运行相关程序呢?
解答:要进入其他盘,得输入cd /mnt/。即可以看到各种磁盘了,此时就可以进入C盘/D盘操作了。
问题三:有时候执行cd命令,进入进出文件夹时,都会出现Permission denied问题,这到底是怎么回事?
解答:这是因为权限不够的问题,建议输入sudo -s,进入root命令之后,再去执行相应的命令。但是在root命令下得格外小心哦。
问题:用pynio pyngl读取nc数据,并输出相应的图像
前期处理:①下载数据,仅有7kb
http://www.ncl.ucar.edu/Document/Manuals/NCL_User_Guide/Data/tas_mod1_hist_rectilin_grid_2D.ncwww.ncl.ucar.edu②查看nc数据的属性,了解里面的数组信息,在Python的环境下,可以通过
gdalinfo name.nc 查看
或者
import netCDF4 (得安装netCDF4,可使用pip install netCDF4)
dataset = netCDF4.Dataset('tas_mod1_hist_rectilin_grid_2D.nc')
print(dataset)
如何运行:打开ubuntu——输入source activate pyn_env,进入相应的test目录(包括下载的tas_mod1_hist_rectilin_grid_2D.nc数据和一个test.py脚本,该脚本代码如下)。在该目录下输入python test.py即可运行。
import
结果:
关注“happy科研”公众号和CSDN博客(ID:weixin_44267600),获取更多有趣有料的干货。
有任何问题,请发邮件至:yfangnuist@gmail.com
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。