Program Environment

作成年月日:2024.01.27

地理情報空間を用いた画像解析のためのプログラム環境

         このページは、GIS・衛星画像・点群・カメラ撮影画像などをプログラムで取り扱いたい人向けのページです。

 私の研究ではPythonを用いた様々なデータを加工・生成し、データの解析、補正技術の開発などを行っています。このページでは、研究に必要なプログラム環境を整える上で必要な手順をまとめています。プログラムの環境構築手順を解説するサイトでは、コマンドラインインターフェイスのみで構築する手順を解説しているウェブサイトが多く見られますが、初学者でもつまずきにくい方法を解説したいので、グラフィカルユーザーインターフェース(GUI)が使えるところはGUIを使った構築を行います。ちなみに私が使用しているコンピュータは、Mac、Linux(Ubuntu)、Windowsをそれぞれ使用しています。構築OSによってプログラム環境構築の取っ掛かりが異なるので始めに個々のOSごとに説明が必要な場合は個別に説明します。windowに関してはUbuntu のインストールまでは他のサイトなどを参考にインストールして下さい。(windows10,11でインストール手順が異なったり、ここ数年でインストール方法が変わっているので、更新頻度の低い私のサイトではwindowsはカバーしきれないというのが本音です。)

1.Anaconda のインストール

プログラム環境は、プログラムを動かすのに適した仮想環境の中に構築します。仮想環境を用意するという行為は、コンピュータの主環境であるプログラム環境をリビングに例えるとプログラム開発環境のために汚れてもいい専用工作部屋を別に用意するようなものです。専用の工作部屋があれば、開発環境の構築過程で問題が発生しても、リビングには影響がありません。また作りたいものに合わせて別の部屋を用意することも可能です。そこではじめに、専用部屋だけではなく、必要なインテリアや工具、機材もまとめて用意してくれる便利なAnacondaをインストールします。Anacondaをインストールすることで、簡易にプログラム環境を構築できます。

以下のページにアクセスし、Anaconda をダウンロードします。MacはApple Silicon のCPUを搭載している場合M1を選びます。Linux(Ubuntu)とWindowsは共にLinuxを選んで下さい。

Anaconda のダウンロードページ( https://www.anaconda.com/download

図1:ダウンローページの下部に行くと任意のインストーラーが選べられます。

1-1. Linux(Ubuntu 22.04.03 LTS)とWindowsの場合

bash と呼ばれるシェルスクリプトを用いてAnacondaをインストールします。Windowsの場合はまずUbuntuをインストールして下さい。ダウンロードしたファイルをUbuntuのホームディレクトリに入れます。

# ターミナルでホームディレクトリを確認する方法

$ pwd

# 出力例:$ /home/murai/

ホームディレクトリにインストーラが移せたら、ターミナルから以下のコマンドでインストールします。

$ bash {ダウンロードしたインストーラー.sh}

# 例:bash Anaconda3-2023.09-0-Linux-x86_64.sh

インストールが始まるとはじめに長いライセンス規約が表示されます。Enterキーで読み進めて下さい。読み終わると同意するか聞かれるので yes か no で答えます。そのあと、インストール場所を聞かれるので、そのままインストールします。特別理由が無ければ提案されている場所で大丈夫です。


1-2. Macの場合

インストーラーの指示に従ってインストールしてください。GUIを介してインストールするので難なくインストールできるはずです。

よくある問題(1):conda が通らない場合

おそらくcondaのパスが通っていないことが原因です。ターミナルからcondaへのパスを.bashrcに書き込みます。パスの入力には nano エディタを使ってみましょう。{ユーザーネーム} はあなたの環境に合わせて修正してください。

$ sudo nano .bashrc


# 十字キーで .bashrc の最下部へ行き以下を書き込み、保存します。

$ export PATH="{ユーザーネーム}/anaconda3/bin:$PATH"


# ターミナルで以下を入力

$ source .bashrc


# conda が通るか確認

$ conda

2.Anaconda で仮想環境を構築する

pythonのバージョンは3.8を用います。理由は、リモートセンシングや画像処理でよく使う、地理情報空間を扱うGDALというライブラリと、画像処理のライブラリOpenCVの互換性が取れているバージョンのうち、新しいバージョンが3.8だからです。

$ conda create -n py38 python=3.8 anaconda

環境構築が終わると、以下のコマンドでpy38の仮想環境に切り替えられます。

$ conda activate py38

よくある問題(2):conda activate が通らず、以下のエラーが出る場合

私の場合は、以下のようなエラーがでました。

conda activate parth

usage: conda [-h] [--no-plugins] [-V] COMMAND ...

conda: error: argument COMMAND: invalid choice: 'activate' (choose from 'clean', 'compare', 'config', 'create', 'info', 'init', 'install', 'list', 'notices', 'package', 'remove', 'uninstall', 'rename', 'run', 'search', 'update', 'upgrade', 'build', 'convert', 'debug', 'develop', 'doctor', 'index', 'inspect', 'metapackage', 'render', 'skeleton', 'verify', 'content-trust', 'repo', 'env', 'token', 'server', 'pack')

解決策:ターミナルに以下を実行します。{ユーザーネーム} はあなたの環境に合わせて修正してください。

$ source {ユーザーネーム}/anaconda3/etc/profile.d/conda.sh

3.仮想環境へ必要なライブラリを入れる

つまずきやすい OpenCV と GDAL からダウンロードします。それぞれのバージョンは python3.8 で使用可能なものを選びます。とても重要なことなので、ダウンロードするバージョンはpythonのバージョンに合わせてください。もし上手くインストールできない場合は、pythonのバージョンに合った、他のバージョンを選んでみると上手く行く場合があります。最近私がインストールしたのは以下のバージョンでした。

# conda search 〇〇 で新しいバージョンを確認して以下のようにライブラリをインストールします。

$ conda install opencv==4.6.0
$ conda install gdal==3.6.2

$ conda install ephem==4.1.2

$ conda install piexif==


# どんなバージョンがあるかは、以下のコマンドで確認できます。

$ conda search opencv

$ conda search gdal

ほかにも必要なライブラリがあれば、適宜インストールします。

ここまで問題なく進めたら、プログラム環境は整っています。プログラムコードを編集するエディタは、OSにプリインストールされているテキストエディタでも可能です。私の場合は、LaTeX と Python が使えてPDFも閲覧できる便利な Visual Studio Code を使っています。Microsoft が提供しており、Linux 、Windows、Mac で同じ環境で使えるので気に入っています。コミュニティも活発なため、使い方を調べるのも容易です。

よくある問題(3):conda install でインストールできない場合

conda search でバージョンの検索にヒットしない場合は、Anaconda の公式パッケージ検索サイトで調べると、インストール先が示されていることがあります。そうした場合は以下のアドレス先で調べます。

Anaconda公式パッケージ検索サイト:https://anaconda.org/

例えば、画像から撮影日時を取得するライブラリは conda search でヒットしませんでしたが、検索サイトでは見つけることができて、無事インストールできました。

$ conda install conda-forge::piexif

しかし時々、conda からインストールできないライブラリがあります。その時は pip を使ったインストールを行っています。環境構築をする時に、conda と pip を混ぜると環境が壊れるという話を聞きますが、私の環境では問題なく動作しているので、しょうがないライブラリは混ぜて使っています。できるだけ conda でインストールして、打つ手が無いときは pip に頼っています。

# pip でしかインストールできない・できなかったライブラリ
$ pip install pyproj

$ pip install rawpy

その他

anacondaの仮想環境を立ち上げるコマンドを短くしたい場合は以下の手順でエイリアスを作って短くできます。そのままでよい場合は必要ありません。.bashrc (macOSの場合は .zshrc)  にエイリアスを追加します。

$ sudo nano .bashrc


# nano エディタが立ち上がったら最下部に以下を追加します。

$ alias py38='conda activate py38'

設定を反映させる。

$ source .bashrc