計算機実習のための作業環境を整える。ここでは、Windows上でLinuxを利用できる環境として、WSL(Windows Subsystem for Linux)のインストール方法を説明する。WSLは、Microsoft社が開発者向けのツールとして提供している。詳細は公式ページを参照してください。
WSLのインストール
- PowerShellまたはコマンドプロンプトを管理者モードで開く
- 以下のコマンドを実行し、WSLをインストールする
wsl --install
- Windows 10 バージョン2004以下の方はこちら
- PCを再起動する(
wsl --install
の適用には再起動が必要) - Linuxディストリビューションをインストール
- 既定ではUbuntuがインストールされる
- 他のディストリビューションを利用したい場合は、以下のコマンドで選択できる:
wsl --install -d <Distribution Name>
- 例:wsl --install -d Debian
- [スタート] メニューを使用してLinuxディストリビューション(既定ではUbuntu)を開く
- 初回起動時に。Linuxユーザー情報(ユーザー名とパスワード)の作成を求められる
- ここで設定をするユーザー名とパスワードは、Windowsのアカウントとは別もの
- WSL内での管理者権限(
sudo
)を利用する際に必要になる
- Linuxディストリビューションの更新とアップグレード
- WSL内でを以下のコマンドを実行:
sudo apt update && sudo apt upgrade
-
update
はパッケージリストを最新にする -
upgrade
はインストール済みのソフトウェアを更新する
これで、Linuxの実行環境が整ったはずである。しかし、結局公式が一番分かりやすいので、こちらを読まれる方を進める。
ターミナルのインストール
WSLの標準ターミナルは、公式によると、"~して、ターミナルを完全にカスタマイズできます。"と使いやすさをアピールする説明がありますが、個人的には使いにくい。
ここでは、Mobaxtermのインストール方法を説明する。Mobaxtermは、Windows上で動作する高機能なターミナルエミュレーターであり、SSHクライアントやXサーバーの機能を備えた統合型リモートアクセスツールである。特にLinux環境を使う開発者にとって、WSLやリモートサーバーとの接続を効率化できる便利なツールである。Mobaxtermのメリットは以下の通り:
- タブ管理で複数のWSL・SSHセッションを同時に開ける
- SFTP機能でファイルをドラッグ&ドロップで転送(手動コピー不要)
- X11転送が標準対応(GUIアプリがそのまま使える)
- クリップボード統合(マウスで簡単にコピーペースト)
- 軽量&高速(Windows標準のターミナルより快適)
- SSHセッションの保存(ワンクリックでリモートサーバーに接続)
個人的にMobaxtermの推しているところは、X11 serverが入っていること、SSHセッションを保存できることです。以下インストール方法です
1. 公式からダウンロードとインストール
2. WSLのセッションを作成
- Mobaxtermを開く
- 「Session」→「WSL」を選択し、Ubuntuを指定する
これで、MobaxtermからWSLにアクセス可能となる。リモートサーバーに接続する際、ssh
コマンドをその都度実行するのが面倒なので、こちらも「Session」→「SSH」を選択し、port/IPを指定すると、SSHセッションにワンクリックで接続できる。
エディタのインストール
デフォルトでVimが入っているため、それでも良いが個人的にはEmacs
が使い慣れているため、こちらをインストールする。使い方はこちらを参照してください。
sudo apt install emacs
Microsoft社が開発したVSCode(Visual Studio Code)は拡張機能が豊富で、コード補完やデバック等も行えて便利であるため、ローカルで作業する時はたまに使っている。しかし、リモートサーバーで良く作業する自分としては、軽量で特別な設定が不要なemacs
の方がやりやすい。結論、どちらでも良いと思う。
Fortran/C コンパイラのインストール
- Fortranコンパイラのインストール:
sudo apt install gfortran
1957年にIBMが初めて開発したコンピュータ言語であるFortran(Formula Translation)は、実行速度が速く、膨大な量の計算を処理できるため、大規模な数値計算に適したプログラミング言語である。特に、富岳や京のようなスーパーコンピュータはFortranで動作させている。しかし、Fortranを使っている業界は非常に限定的であるため、その業界で働いていない(働くつもりがない)人は、次に説明するC言語を勉強された方が汎用性が高いと思われる。
- Cコンパイラのインストール:
sudo apt install gcc
1972年にベル研究所で開発されたC言語は、汎用性が高く、幅広い分野で使用されるプログラミング言語である。特に、OS(LinuxやWindows)、組み込みシステム、ハードウェア制御、ソフトウェア開発など、多様な用途で活用されている。また、C言語は低レベルなメモリ操作が可能であり、パフォーマンスの最適化が求められるアプリケーションに適している。そのため、Fortranが数値計算に特化した言語であるのに対し、C言語はシステム開発や組み込み制御など、より多くの分野で利用されている。汎用性の高さから、プログラミングを学ぶ際の基礎言語としても広く採用されており、今後ソフトウェア開発に携わる予定がある人にとっては、C言語を学ぶことが有益である。
Anacondaのインストール
1991年にグイド・ヴァンロッサムによって開発されたPythonは、シンプルで可読性の高い文法を特徴とし、幅広い分野で使用される汎用プログラミング言語である。機械学習やデータ解析、Web開発、科学技術計算、システム管理、組み込み開発など、さまざまな用途に適しており、近年ではAI・データサイエンスの分野で特に人気が高い。
Anacondaは、pythonのインストールだけでなく、数値計算や機械学習を行うために必要なライブラリも一括してインストールしてくれる便利なパッケージである。
-
Anacondaのインストーラーをダウンロード
-
公式からAnacondaのインストーラーを取得:
wget https://repo.anaconda.com/archive/Anaconda3-2023.07-0-Linux-x86_64.sh
-
Anaconda3-2023.07-0-Linux-x86_64.sh
の部分は 最新版に変更してください
-
公式からAnacondaのインストーラーを取得:
-
インストーラーを実行
- ダウンロードした
.sh
ファイルを実行するbash ./Anaconda3-2023.07-0-Linux-x86_64.sh
- 途中でライセンス確認があるので、
Enter
を押して読み進め、yes
を入力 - インストール先(デフォルトは $HOME/UserNAME/anaconda3)を決める
- ダウンロードした
-
インストール後の設定
- インストールが完了すると、
conda
コマンドを使えるようにするために、.bashrc
にパスを追加するかどうかを以下の様に聞かれる:Do you wish the installer to initialize Anaconda3 by running conda init? [yes|no]
-
yes
を選択すると、環境変数が.bashrc
に自動で追加される - もし
no
を選んだ場合、手動で設定する必要があるecho 'export PATH="$HOME/anaconda3/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
- 自分は以下の様に
.bashrc
にエイリアスを追記しているalias pystart='eval "$(/home/tsuji/anaconda3/bin/conda shell.bash hook)"'
- パスは「2. インストーラーを実行」で決めたインストール先に変更してください
- これで、
pystart
と実行したらpython環境が使えるようになる
- インストールが完了すると、
-
Anacondaの動作確認
- インストールが成功したか確認する(バージョンが表示されればインストール成功)
pystart conda --version
- アップデート
conda update conda conda update conda-build
- インストールが成功したか確認する(バージョンが表示されればインストール成功)
-
仮想環境の作成(例)
conda create -n pyradar python=3.8
-
pyradar
という仮想環境をpythonバージョン3.8系で作成
-
-
仮想環境の有効化
conda activate pyradar
-
pyradar
環境に切り替える
-
-
パッケージのインストール
conda install numpy matplotlib cartopy
-
リポジトリ先の追加
pythonのパッケージをインストールする際、上記の様にcondaを使うことができる。しかし、conda
が探すリポジトリ先に、インストールしたいパッケージが存在しない場合がある(例えばarm_pyart
)。そんな時、conda
が探すリポジトリ先にconda-forge
を加えることでインストールが可能になる。conda-forge
とはgithub上のコミュニティ主体のパッケージコレクションで、様々なパッケージが用意されている。- condaが探すリポジトリ先を以下の様に確認する
conda config --get channels
すると、
--add channels 'defaults' # lowest priority
と出力される。これはdefaults
を探しにいっていることが分かる。- リポジトリ先に
conda-forge
を以下の様に追加する
conda config --append channels conda-forge
-
conda-forge
がlowest priority
に追加されたことを確認する
conda config --get channels
--add channels 'conda-forge' # lowest priority
--add channels 'defaults' # highest priority
となっていれば追加できている-
conda-forge
内のパッケージをインストールする
conda install arm_pyart
arm_pyart
やxarray
、dask
、opencv
、h5py
、netcdf4
、pygrib
、etc...などAnacondaには含まれていない便利なモジュールが多く存在する。しかし、インストールする際にコンフリクトを起こす可能性が高いので、仮想環境内でインストールすることを勧める。 -
仮想環境の無効化
conda deactivate
- デフォルト環境に切り替える
Anaconda有償化に伴うMiniconda+conda-forgeへの移行
Anacondaは商用利用(企業・組織での利用)に対して有償化されている。個人ユーザーは無料で使えるが、企業での利用にはライセンスが必要である。そのため、代替としてMiniconda
に切り替えといた方が後々楽である。
Anacondaとの違いは、必要なパッケージを自分自身でインストールするか、しないかの違いであり、利用上の大きな制約があるわけではない。
インストール方法はAnaconda
の時と変わらない。ただし、miniconda
のインストーラーはここからダウンロードする必要がある。
Ghostscript/ImageMagickのインストール
Ghostscript(GS) は、PostScript(PS)やPDFファイルを処理するためのソフトウェアである。特に、Linux環境でPDFやPSファイルを操作するためによく使われている。ImageMagick は、画像をコマンドラインで変換・編集できるツールである。多くの形式(PNG・JPEG・TIFFなど)を扱うことができ、バッチ処理やスクリプトにも適している。論文作成する際にEPS画像を扱う人やコマンドラインで画像を操作したい人はインストールしておくと便利である。
sudo apt install ghostscript
sudo apt install imagemagick
Gnuplot/GMT/GrADSのインストール
いずれもお絵かき用のフリーソフトである。pythonで事足りているので、いまから勉強する必要はない気がするが、参考までに紹介する。
- Gnuplot
Gnuplotは、データの可視化(グラフ描画)を行うためのフリーソフトウェアであり、科学技術計算やデータ分析の分野で広く使われていた。
sudo apt install gnuplot
- GMT(Generic Mapping Tools)
GMTは、地図作成や地球科学データの可視化に特化したオープンソースのツールセットである。特に気象学、地球物理学、海洋学、測地学などの分野で広く使用されていた。
sudo apt install gmt gmt-gshhg
- GrADS(Grid Analysis and Display System)
GrADSは、気象・気候データの解析と可視化を行うためのソフトウェア である。主に気象学、気候学、大気科学、海洋学 の分野で使用され、格子データ(グリッドデータ)を処理するのに特化している。こちらからダウンロードできる。
これで開発環境は整いました!
実際に手を動かしながらプログラミングに慣れていきましょう!
実習はこちらからどうぞ!