Generic placeholder image

【データ分析】MinicondaをインストールしてCartopyで世界地図を描画しよう

投稿日 2019年8月22日 >> 更新日 2020年8月2日

今回はデータ分析(データサイエンス)に必要なソフトウェアパッケージをまとめて提供しているAnacondaの最小構成版であるMinicondaをインストールしていきたいと思います。

なぜ私がMinicondaにしたのかというと、ファイルサイズがAnacondaに比べて約1/10と非常に軽量だったのと、自分で環境構築(データ分析や機械学習の)をしたかったからです。

そしてAnaconda(Miniconda)を導入しようと思った経緯は、地図描画ライブラリであるBasemapやCartopyでハマりにハマったからです。

素のPython環境では非常に難しく、地図の描画に必要なソフトも別で導入しコンパイルなどして、手間暇かかってしまいます。

それも1つ勉強にはなったのですが、どうやらAnaconda(Miniconda)を導入してデータ分析用のライブラリを使用することを推奨しているみたいです。

ではさっそく始めて行きます。

【目次】

実行環境

実行環境
Windows Subsystem for Linux Ubuntu
Miniconda
使用ライブラリ
cartopy

Minicondaのインストール

まずはブラウザでMinicondaのアーカイブがあるとこまで行き、最新のファイルリンクのアドレスを右クリックで指定してコピーします。(Anacondaでも手順は同じ)

AnacondaもしくわMinicondaどちらかを指定。(ここではMiniconda)

最新のファイルの上で右クリックし、リンクのアドレスをコピーします。ファイル名の語尾がLinux-x86_64.shであることに注意してください。

リンクのアドレスをコピーしたら、ターミナルでファイルを読み込みます。


# HTTPアクセスをしてコンテンツをファイルに保存する
$ wget https://repo.anaconda.com/miniconda/Miniconda3-4.7.10-Linux-x86_64.sh

# ファイルを確認
$ ls
Miniconda3-4.7.10-Linux-x86_64.sh ..... ......
..... ......

# bashコマンドでファイルを実行
$ bash Miniconda3-4.7.10-Linux-x86_64.sh
メッセージが表示される

利用規約などが表示されるので、目をしっかり通した後、同意するか決めてください。

同意したらインストール先を聞かれます。デフォルではホームディレクトリにインストールされるので、よければエンターキーで進めます。

最後に初期化をするか求められるので、yesと打ってインストール完了です。

完了したら、.bashrcの設定を反映させます。


# カレントディレクトリに.bashrcがあるか確認
$ ls -a
.bash_profile .bashrc .local ..... Miniconda3-4.7.10-Linux-x86_64.sh

# 設定を反映
$ source .bashrc

# もしくわ
$. .bashrc

それでは動作確認をしてみましょう。

Anaconda(Miniconda)が起動しているときは、ターミナル先頭に(base)と付与されます。確認出来たらPythonを立ち上げてみます。


(base)$

(base)$ python
Python 3.7.3 (default, Mar 27 2019, 22:11:17)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>exit()  ←対話終了

Anaconda(Miniconda)を抜ける時は、exitで終了します。起動するときはbashコマンドで立ち上げます。


Miniconda終了
(base)$ exit

$ python3
Python 3.6.8 (default, Jan 14 2019, 11:02:34)
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>exit()

# Miniconda起動
$ bash

(base)$

続いてパッケージ管理用ソフトのcondaを使って地図を描画するために必要なパッケージをインストールしていきます。

cartopyで世界地図を描画

ここからは世界地図を描画するためのソフトをインストールしていきたいと思います。

データ分析で使われているBasemapモジュール(mpl_toolkits.basemap)は2020年にサポートが終了し、それ以降はCartopyにて開発が行われるということで非推奨となっています。

なので推奨されている方のCartopyを導入していきます。

素のPython環境ではpipというパッケージ管理用ソフトを使用していましたが、Anaconda(Miniconda)ではcondaというパッケージ管理用ソフトが備わっています。

他にcondaを使って仮想環境も構築できたりします。


# バージョン確認
(base)$ conda -V
conda 4.7.11

# 必要であればアップデート
(base)$ conda update -n base -c defaults conda

condaを使用するに当たって注意していただきたいのが、同種のモジュール(ソフト)をpipでインストールしない事です。

condaとpip両者に同じモジュールが存在している場合、インストールされているソフトが上手く起動せずにエラーもしくわクラッシュ(コアダンプ)する恐れがあるからです。

なので例えば今回初めてcondaでパッケージをインストールしていきますが、インストールされたモジュールがpipに既にインストールされていないか確認し、存在していればアンインストールします。

両者パッケージマネージャの中身を確認してみましょう。


(base)$ conda list

(base)$ pip3 freeze

# Ubuntuのパッケージ確認
(base)$ dpkg -l

ではCartopyをインストールしていきます。


(base)$ conda install cartopy

これだけで、地図の描画に必要なソフトを一括でインストールします。

たとえば、matplotlibやgeosやproj4などです。

素のPythonでCartopyを構築しようとした時より簡単かつ秒速に感じられます。

インストールが終わったら、先ほども触れましたが素のPython環境(pipやUbuntu)に同一のソフトが含まれていないか確認します。

私の場合はmatplotlibやnumpyが含まれているのでpipもしくわUbuntu(シェル)コマンドでアンインストールします。


(base)$ pip3 uninstall matplotlib numpy

# aptインストールしている場合
(base)$ sudo apt remove python3-matplotlib python3-numpy

これで環境が構築できたと思うので、さっそくCartopyを使って地図を描画していきます。

# 実行

(base)$ python
.....
.....
>>> import matplotlib.pyplot as plt
>>> import cartopy.crs as ccrs
>>>
>>> ax = plt.axes(projection=ccrs.PlateCarree())
>>> ax.coastlines()
<cartopy.mpl.feature_artist.FeatureArtist object at 0x7f952e64cbe0>
>>>
>>> plt.show()

地図は描画されたでしょうか?

GUIの起動も忘れずに行ってください。

それでは以上となります。

最後までご覧いただきありがとうございました。

<<< 一覧へ戻る