Help us understand the problem. What is going on with this article?

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

本屋で立ち読みしたら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)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした