概要
ちょうど手元のワークステーションの環境再構築のタイミングでUbuntu 24.04が使えるようになってたので、インストールしてpythonの環境構築してみた。
ワークステーションでは、
- 天体画像処理 (python)
- 地震学関連の趣味の解析 (python)
- 電子工作関連(?)の開発環境 (Arduino IDE, python)
の環境を構築していく。
システムの初期設定
Ubuntuのインストーラはとても使いやすくなっているし、OSのインストールで説明することは、もうほぼないんじゃないかと思っている。何も考えずにポチポチと次へを押していくことで、インストールは完了してしまう。
(専用のディスクを用意しておくように。当然OSを入れるときに初期化されるディスクからはデータが消える。)
Software Center経由でソフトの導入
一方、OSだけ入っていてもPCとしては不十分なので、便利なソフトのインストールが必要となる。
まずは、Software Centerから、下記のソフトを入れた。
- GIMP
- Inkscape
- VS Code
- chromium
ホームディレクトリ内のフォルダ名の英語化
続いて、terminalで下記のコマンドを実行して、ホームディレクトリのディレクトリ名を英語に変えておく。いまどき必要ないのかもしれないのだけれども、地味に日本語入力モードに変えるのは手間なので…
LANG=C xdg-user-dirs-gtk-update
下記のような確認画面が出て、ディレクトリ名が変更される。
なお、ピクチャが残ってしまっているのは、このスクショを撮ったせいで、ファイルがあるから。後で消しておけば良い、と。
Pythonの環境構築
僕は基本pythonを主言語として使っているので、pythonの環境は、いくつか持っておきたいところ。というもの、目的によっていくつかのバージョンを使ったりするから。そこで、pyenvとvirtualenvを使って、仮想環境を構築し利用しましょう。
そういえば、ubuntu 24.04の標準のpythonは、3.12.3になっていました。だいぶバージョンが上がったと思いました。
世の人々から数多くの解説が得られる1かと思うが、一応ここでも覚書として記載しておく。
まずは、gitと必要なライブラリ2をインストール。
sudo apt install git
sudo apt install libbz2-dev libreadline-dev libsqlite3-dev libffi-dev
sudo apt install build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev curl git \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev llvm
で、pyenvを導入。
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
とりあえず、最新の版を導入した。
pyenv install -list
で一覧を表示してみて、最新のバージョンが3.12.3だったので、それを入れてみる。
pyenv install 3.12.3
pyenv global 3.12.3
さて、次にvirtualenvを導入。
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
source ~/.bash_profile
地震解析用のobspyと天体画像処理用のastroの2つの仮想環境を作る。
pyenv virtualenv 3.12.3 obspy
pyenv virtualenv 3.12.3 astro
それぞれの作業用ディレクトリをホームディレクトリに作成しておく。
mkdir ~/python_envs
mkdir ~/python_envs/obspy
mkdir ~/python_envs/astro
cd ~/python_envs/obspy
pyenv local obspy
cd ~/python_envs/astro
pyenv local astro
これで、pyenv&virtualenvがりようできるようになっており、terminalでも表示”(環境名)”が出るようになる。
ここからは、利用するライブラリをいれていく。
地震解析用のライブラリ
下記のコマンドでインストールする。
pip install scipy numpy obspy matplotlib spyder h5py pyproj basemap HinetPy
のだが、大体のライブラリは覚えているけれど、いっつも抜けがあって…まあ、ここに追加していくといいと思いつつ、毎回忘れていくのです…
天体画像処理用のライブラリ
下記コマンドでインストールする。
pip install numpy scipy matplotlib spyder rawpy opencv-python pillow
一応、以上で環境としては構築完了。