LoginSignup
1
3

More than 3 years have passed since last update.

Basemapをインストールしようとしたらつまづいたので忘備録

Last updated at Posted at 2020-01-05

本屋で立ち読みしたらBasemap( pythonで簡単に地図をプロットできるモジュール。データの可視化を地図上にしたいときにとても重宝します。)っていうなんかかっこよさそうなものがあるってことで帰って早速インストールしてみました。

以下のようなシンプルなコードでかっこいい地図が描けます。
インストールまで結構つまづいたので忘備録としてのメモ。

import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
%matplotlib inline

m = Basemap()
m.bluemarble()

20ca7dd8.png

実行環境

Python 3.7.6
macOS Mojave 10.14.6
Jupyter Notebook

インストール方法

最初に。

$ brew install geos

以下でいきなりつまづく。

$ wget https://jaist.dl.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-1.0.7/basemap-1.0.7.tar.gz

以下のエラーが吐かれた。うーん。。どうやらwgetに問題があるよう。

dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /usr/local/bin/wget
  Reason: image not found
zsh: abort      wget 

whichで確認。wgetはインストールされている模様。

$ which wget
/usr/local/bin/wget

wgetをアップグレードしてみる。

$ brew upgrade wget

==> Upgrading 1 outdated package:
wget 1.20.3 -> 1.20.3_2

アップグレードがうまく行ったので再度チャレンジ。

$ wget https://jaist.dl.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-1.0.7/basemap-1.0.7.tar.gz

ダウンロード失敗。

$ wget https://jaist.dl.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-1.0.7/basemap-1.0.7.tar.gz
--2020-01-05 19:35:46--  https://jaist.dl.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-1.0.7/basemap-1.0.7.tar.gz
jaist.dl.sourceforge.net (jaist.dl.sourceforge.net) をDNSに問いあわせています... 2001:df0:2ed:feed::feed, 150.65.7.130
jaist.dl.sourceforge.net (jaist.dl.sourceforge.net)|2001:df0:2ed:feed::feed|:443 に接続しています... 接続しました。
エラー: jaist.dl.sourceforge.net の証明書(発行者: `CN=Let\'s Encrypt Authority X3,O=Let\'s Encrypt,C=US')の検証に失敗しました:
  発行者の権限を検証できませんでした。
jaist.dl.sourceforge.net に安全の確認をしないで接続するには、`--no-check-certificate' を使ってください。

そうか、そうか。もう一度。`--no-check-certificate'をつけて再実行してみる。

$ wget https://jaist.dl.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-1.0.7/basemap-1.0.7.tar.gz --no-check-certificate

--2020-01-05 19:36:28--  https://jaist.dl.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-1.0.7/basemap-1.0.7.tar.gz
jaist.dl.sourceforge.net (jaist.dl.sourceforge.net) をDNSに問いあわせています... 2001:df0:2ed:feed::feed, 150.65.7.130
jaist.dl.sourceforge.net (jaist.dl.sourceforge.net)|2001:df0:2ed:feed::feed|:443 に接続しています... 接続しました。
警告: jaist.dl.sourceforge.net の証明書(発行者: `CN=Let\'s Encrypt Authority X3,O=Let\'s Encrypt,C=US')の検証に失敗しました:
  発行者の権限を検証できませんでした。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 129694711 (124M) [application/x-gzip]
`basemap-1.0.7.tar.gz' に保存中

basemap-1.0.7.tar.g 100%[===================>] 123.69M   121KB/s 時間 21m 6s   

2020-01-05 19:57:34 (100 KB/s) - `basemap-1.0.7.tar.gz' へ保存完了 [129694711/129694711]

次に以下のコマンドを実行。

$ tar zxvf basemap-1.0.7.tar.gz
$ cd basemap-1.0.7
$ python setup.py install

python setup.py installの後にエラーが。。長いなあ。


ModuleNotFoundError: No module named 'numpy.random.mtrand'

今度はnumpyに問題がありそうなのでアンインストール→インストールの実行。

$ pip3 uninstall numpy

$ pip3 install numpy

再インストール後にもう一度以下を実行。

$ python setup.py install

うまく行った!!!

ただ、実際にjupyterで使おうと思ったらエラーが。

ImportError: No module named 'mpl_toolkits.basemap'

いろいろ探してたらこのコマンドを使ったらいけそう。

$ pip3 install https://github.com/matplotlib/basemap/archive/master.zip

ところがzipファイルじゃないよ。というエラー。

zipfile.BadZipFile: File is not a zip file

netCDF4を落としたらいけるとのことで実行。

$ pip3 install netCDF4

やっといけました!!

参考にさせていただいた記事

matplotlib.basemapで簡単にマップを描画する

python3でbasemapのインストールに失敗するとき (Mojave)

1
3
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
1
3