日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

windows脚本命令闪退_NCL2Python|windows系统安装Pyngl和Pynio

發布時間:2024/7/5 windows 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 windows脚本命令闪退_NCL2Python|windows系统安装Pyngl和Pynio 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

自從NCL停更之后,python的知名度都不斷提高了,我也開始了python學習之旅,但是還沒開始,就被如何安裝Pyngl和Pynio給困住了。網上和官網給的教程都是Linux系統或者OS系統,有老板服務器的同學壓根不用擔心這個問題,沒有任何影響。但是沒有服務器就有點惆悵了。

為什么Windows不能直接安裝

我想到電腦上安裝了Aanconda,那能不能安裝PyNIO和PyNgl呢,果不其然出錯了,這到底是什么原因?我接著輸入anaconda search -t conda pyngl,查看pyngl各個版本信息,發現4個pyngl和pynio安裝包根本就沒有windows系統的版本,而windows里面安裝的環境都是windows下的。因此這就是導致windows系統不能安裝Pyngl和Pynio的原因。

因此小結一下:安裝Pyngl和Pynio需要在linux環境。

但盡管如此,如果你的電腦是Win10版本,那么你仍然可以安裝這兩個包。方法是

  • 先安裝linux子系統;
  • 安裝miniconda或者Aanconda環境;
  • 使用conda安裝NCL包和PyNgl和PyNio。
  • 如何在windows中的linux子系統上安裝呢?

  • 安裝linux子系統
    • 開啟開發者模式。系統設置 -> 更新和安全 -> 針對開發人員 -> 選擇開發者模式

    點擊后會自動安裝環境。

    • 勾選適用于windows的linux的子系統,點擊確定,之后重啟電腦。

    • 安裝Linux子系統,有兩種方法安裝。第一種是Microsoft store里面直接搜索Ubuntu進行安裝。

    第二種方法是在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登錄。
    • 初次進入Linux子系統需要設置Linux的用戶名及密碼。記住輸入密碼時屏幕上沒有顯示,這時正常的現象。切換搭配root狀態是輸入 sudo -s,然后輸入密碼。
    • 更改apt源(選做)。因為Linux子系統的apt源使用的是官方源,需要連接到國外的服務器。所以安裝一些軟件時下載會很慢,我們可以改用國內的鏡像apt源,不改也沒有什么問題,不是很影響使用。國內的有阿里源、清華大學源、科大源和網易源,這里推薦科大源。

    對原始文件備份: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版本的miniconda或者anaconda,建議選擇更小的miniconda。鏈接:https://conda.io/en/latest/miniconda.html
    • 輸入以下命令安裝:①bash Miniconda…sh;②source ~/.bashrc 更新bash文件
    • 測試安裝是否成功,輸入conda -V,如果出現相應的版本號即表明安裝成功了。

    注:默認安裝的linux子系統的目錄在C:UsersyxkAppDataLocalPackagesCanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgscLocalStaterootfshome

    3. 安裝NCL及PyNgl、PyNio

    • 安裝NCL,輸入:conda create -n ncl_stable -c conda-forge ncl,此時可以看見miniconda3envs中出現了一個名為ncl_stable的文件夾,即是ncl的安裝包。安裝地的。需要調用時,先輸入source activate ncl_stable,再輸入ncl xxx.ncl即可以執行相應腳本。
    • 安裝PyNgl、PyNio,參考官網的教程(http://www.pyngl.ucar.edu/Download/ )。

    輸入: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

    • 關于linux子系統運行的疑問:

    問題一:找到根目錄之后,新建或者復制了文件數據之后,打開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.nc?www.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 pandas as pd import numpy as np import Ngl,Nio,os ############################################################################ ############# read data ############## ############################################################################ file_obs = Nio.open_file("tas_mod1_hist_rectilin_grid_2D.nc") print (file_obs.variables.keys()) ## 查看存在哪些變量 lon_obs= file_obs.variables["lon"][:] lat_obs= file_obs.variables["lat"][:] time_obs= file_obs.variables["time"][:] tas_obs= file_obs.variables["tas"][:] ##tas_obs是一個四維的數組 print(time_obs) ## 檢查是否有錯 print(tas_obs) ############################################################################ ############# plot setting ############# ################################################################################## wks = Ngl.open_wks("png","111") # 打開一個工作站,與ncl里面的設置一致 resources = Ngl.Resources() resources.tiMainString = "X-Y plot" # 設置圖片標題 resources.tiMainFont = "Times-Roman" # 圖片標題字體 resources.tiMainFontHeightF = 0.027 # 圖片標題字號 resources.tiXAxisString = "X" # 設置 X 軸標題 resources.tiXAxisFont = "Helvetica" # X 軸標題字體 resources.tiXAxisFontHeightF = 0.02 # X 軸標題字號 resources.tiYAxisString = "Y" # 設置 Y 軸標題 resources.tiYAxisFont = "Helvetica" # Y 軸標題字體 resources.tiYAxisFontHeightF = 0.02 # Y 軸標題字號 resources.xyLineColors = 24 # 設置線條顏色 resources.xyLineThicknesses = 2 # 設置線條粗細 resources.xyMarkLineModes = "MarkLines" # 線條模式 resources.xyMarkers = 0 # 無Marker resources.xyMarkerColor = 189 # 標記顏色 resources.xyMarkerSizeF = 0.03 # 標記大小 (默認值為 0.01) plot = Ngl.xy(wks,time_obs,tas_obs[:,0,0,0],resources) # 畫圖 Ngl.end()

    結果:

    關注“happy科研”公眾號和CSDN博客(ID:weixin_44267600),獲取更多有趣有料的干貨。
    有任何問題,請發郵件至:yfangnuist@gmail.com

    總結

    以上是生活随笔為你收集整理的windows脚本命令闪退_NCL2Python|windows系统安装Pyngl和Pynio的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。