2020年3月7日土曜日

WSL上に開発環境を整える

自宅PCにPythonなどのプログラミングができる環境を整えてみました。
私が研究室にいたころ(といっても2013-2016年ですが)は、
スペックの高くないWin7にVirtualBoxとCentOSの組み合わせで作業環境を作っていましたが、
今どきはWSLを使えばいとも簡単に作業環境ができてしまうのですね。

以下、メモ書き。

①Windows Sybsystems for Linux(WSL)の有効化
②Ubuntu 18.04 LTSのインストール
 ※CentOSで6年間慣れてしまったのでホントはCentOSがよいのだが・・・WSL対応版がない
③ユーザー設定
④SSH環境構築
 ・もともと入っているsshサーバを削除
  $ sudo apt-get remove openssh-server
 ・sshサーバの再インストール
  $ sudo apt-get install openssh-server
 ・/etc/ssh/sshd_configを設定変更し、パスワード認証でログインできるように
  ListenAddress 127.0.0.1
  ListenAddress ::1
  PasswordAuthentication yes
 ・サービスのリスタート
  $ sudo service ssh restart
   ※電源を切る度に上記コマンドは打たないといけない
   ※自動化もできるらしい
 ・PuTTYで接続→接続できることを確認
   ※公開鍵認証での接続は後で試すこと
⑤もろもろの初期設定
 ・リポジトリを日本国内に変更
 ・インストールしているソフトウェアの更新
 ・日本語環境の設定
 ・作業用ディレクトリを
  /mnt/c/Users/ユーザー名/Documents/work/
  に作成し、homeに作業用ディレクトリのリンクを貼る。
  作業は基本的にworkで行う。
⑥各種ソフトウェアのインストール
 ・Xming
 ・ImageMagick
 ・libpng
 ・JasPer
 ・zlib
 ・gfortran
 ・gcc
 ・Anaconda
⑦VScodeで開発をするための設定
 ・VScodeに拡張機能Remote-WSLとPythonをインストール
 ・Ubuntu側からWSLを起動
⑧Anacondaの環境設定
 下記をインストール
 ・python3.7
 ・numpy
 ・pandas
 ・scikit-learn
 ・netCDF4
 ・matplotlib
 ・seaborn

気象庁HPからダウンロードした大阪の気温・湿度(1時間値)を以下のプログラムで計算すると、
気温9.2℃、湿度57%になったので大丈夫でしょう。
import pandas as pd

ifile = '../data/amedas/osaka_201901.csv'
df = pd.read_csv(ifile,index_col=0,parse_dates=True,header=0)
print(df['2020-01-10'].mean().round(1))
さて、この本やりますか。

【参考】
http://www.aise.ics.saitama-u.ac.jp/~gotoh/HowToInstallUbuntu1804OnWSL.html#toc5
https://scratchpad.jp/category/linux/debian/
https://qiita.com/_masa_u/items/d3c1fa7898b0783bc3ed

2018年2月10日土曜日

NCLのコードに色を付ける方法

NCL(NCAR Command Language)はnetCDFファイルの読み書きのツールとして便利である.
しかし,VimでNCLスクリプトを開くと,デフォルトではコードに色がついていない(シンタックスハイライトされていない)ため,見にくさがある.

そこで,VimでNCLスクリプトを開いた際,コードに色がつくように設定をした.


<手順>

まず,上記URLからncl1.vimをダウンロードし,./vim/syntaxにncl.vimの名前で保存する.
 次に,vimrcに以下を記載する.
au BufRead,BufNewFile *.ncl set filetype=ncl
au! Syntax newlang source $VIM/ncl.vim
あとはNCLスクリプトをVimで開けばOK.


シェルの中で設定した変数を別のシェルに渡して実行する


先日,シェル(shell)の中で設定した変数を別のシェルに渡して実行するようなことをやるようなことをやってみたかったので調べてみた.

コマンドの前にシェルに渡したい環境変数を記述し,シェルを実行すればよいようだ.

例えば,test.shで設定したOSAKAという文字を,test.shの中で実行するecho.shで出力したい場合は以下のようにする.

test.sh

#!/bin/bash
a="OSAKA"
b=${a} bash echo.sh

echo.sh

#!/bin/bash
echo ${b}

実行する.

$ bash test.sh
OSAKA

はじめに

はじめまして.
あらしと申します.

何らかの形で記録を残したいと思い,こちらのブログを活用することにしました.
個人的なメモ書きが中心となりなすが,もし,何らかの参考にしていただける人がいたら幸いです.

WSL上に開発環境を整える

自宅PCにPythonなどのプログラミングができる環境を整えてみました。 私が研究室にいたころ(といっても2013-2016年ですが)は、 スペックの高くないWin7にVirtualBoxとCentOSの組み合わせで作業環境を作っていましたが、 今どきはWSLを使えばいとも...