0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

開発環境の構築

Last updated at Posted at 2024-06-12

 計算機実習のための作業環境を整える。ここでは、Windows上でLinuxを利用できる環境として、WSL(Windows Subsystem for Linux)のインストール方法を説明する。WSLは、Microsoft社が開発者向けのツールとして提供している。詳細は公式ページを参照してください。

WSLのインストール

  1. PowerShellまたはコマンドプロンプトを管理者モードで開く
  2. 以下のコマンドを実行し、WSLをインストールする
    wsl --install
    
    • Windows 10 バージョン2004以下の方はこちら
  3. PCを再起動する(wsl --installの適用には再起動が必要)
  4. Linuxディストリビューションをインストール
    • 既定ではUbuntuがインストールされる
    • 他のディストリビューションを利用したい場合は、以下のコマンドで選択できる:
    wsl --install -d <Distribution Name>
    
    • 例:wsl --install -d Debian
  5. [スタート] メニューを使用してLinuxディストリビューション(既定ではUbuntu)を開く
  6. 初回起動時に。Linuxユーザー情報(ユーザー名とパスワード)の作成を求められる
    • ここで設定をするユーザー名とパスワードは、Windowsのアカウントとは別もの
    • WSL内での管理者権限(sudo)を利用する際に必要になる
  7. 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のインストールだけでなく、数値計算や機械学習を行うために必要なライブラリも一括してインストールしてくれる便利なパッケージである。

  1. Anacondaのインストーラーをダウンロード

    • 公式からAnacondaのインストーラーを取得:
      wget https://repo.anaconda.com/archive/Anaconda3-2023.07-0-Linux-x86_64.sh
      
    • Anaconda3-2023.07-0-Linux-x86_64.shの部分は 最新版に変更してください
  2. インストーラーを実行

    • ダウンロードした.shファイルを実行する
      bash ./Anaconda3-2023.07-0-Linux-x86_64.sh
      
    • 途中でライセンス確認があるので、Enterを押して読み進め、yesを入力
    • インストール先(デフォルトは $HOME/UserNAME/anaconda3)を決める
  3. インストール後の設定

    • インストールが完了すると、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環境が使えるようになる
  4. Anacondaの動作確認

    • インストールが成功したか確認する(バージョンが表示されればインストール成功)
      pystart
      conda --version
      
    • アップデート
      conda update conda
      conda update conda-build
      
  5. 仮想環境の作成(例)

    conda create -n pyradar python=3.8
    
    • pyradarという仮想環境をpythonバージョン3.8系で作成
  6. 仮想環境の有効化

    conda activate pyradar
    
    • pyradar環境に切り替える
  7. パッケージのインストール

    conda install numpy matplotlib cartopy
    
  8. リポジトリ先の追加
    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-forgelowest priorityに追加されたことを確認する
    conda config --get channels
    

    --add channels 'conda-forge' # lowest priority
    --add channels 'defaults' # highest priorityとなっていれば追加できている

    • conda-forge内のパッケージをインストールする
    conda install arm_pyart
    

    arm_pyartxarraydaskopencvh5pynetcdf4pygrib、etc...などAnacondaには含まれていない便利なモジュールが多く存在する。しかし、インストールする際にコンフリクトを起こす可能性が高いので、仮想環境内でインストールすることを勧める。

  9. 仮想環境の無効化

    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は、気象・気候データの解析と可視化を行うためのソフトウェア である。主に気象学、気候学、大気科学、海洋学 の分野で使用され、格子データ(グリッドデータ)を処理するのに特化している。こちらからダウンロードできる。

これで開発環境は整いました!
実際に手を動かしながらプログラミングに慣れていきましょう!
実習はこちらからどうぞ!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?