概要
pyenvを使ってpython3.6系を使ってるのに、QGIS3をインストールしようとしたら、「QGIS requires Python 3.6.」とエラーが出てインストールできない。
pyenv環境でQGIS3を動くように記事を書いてる方がいたけれど、なんとなくsystemのpythonのバージョン自体を上げたくないので、別に記事を書きました。
環境はMacデフォルトで入っているpythonのバージョンは2.7.10、
OSはHigh Sierraで作成しましたが、その後 Mojave 10.14 に上げても動いています。
参考記事
https://qiita.com/th1nkd0g/items/3182e210b6a8b0ba0e79
pyenv で3.6系をインストール
env PYTHON_CONFIGURE_OPTS="--enable-framework CC=clang" pyenv install 3.6.3
python install時にframeworkモードでビルドするように指定する。
--enable-framework
をオプションとしてつけると、pythonのインストールしたディレクトリ直下にPython.frameworkというディレクトリができる。
無事インストールできたらpyenvでバージョンを3.6.3にしておく。
pyenv global 3.6.3
pyenvでインストール時にエラーが出る
BUILD FAILED (OS X 10.13.6 using python-build 1.2.0)
(中略)
zipimport.ZipImportError: can't decompress data; zlib not available
みたいにエラーが出てきたら xcode-select --install
でコマンドライン開発ツールをインストールしてから再度python3.6.3をインストールする。
Python.frameworkにシンボリックリンクを張る。
この張り方だと乱暴なのでpyenv global system
とかで切り替えた時になにかエラーが出そうな気もするけどとりあえずすすめる。
sudo ln -s /Users/{ユーザ名}/.anyenv/envs/pyenv/versions/3.6.3/Python.framework/ /Library/Frameworks/Python.framework
QGIS3をダウンロードする
https://qgis.org/ja/site/forusers/download.html からMac OS X版をダウンロードする。
適当に展開すると、インストールするものが1,2,3とありますが1はこれまでの作業で終わったので、2 GDALと 3 QGIS をインストールする。
GDALはQGIS2の時にインストールしたから要らないかな、とか手を抜くと普通に起動時にエラーが出てくるので、何度目だろうとGDALのインストールをしてからQGISのインストールをします。
GDALのインストール忘れて起動しようとした場合
Couldn't load plugin 'processing'
MetaSearchが見つからない
自分の環境だと以下のエラーも出てきたので対処方法です。
classFactory()メソッドの呼び出し時にエラーが発生したためプラグイン 'MetaSearch'を読み込めませんでした
ModuleNotFoundError: No module named 'owslib'
手動でMetaSearchを以下にコピーします。
/Applications/QGIS3.app/Contents/Resources/python/plugins/MetaSearch
なんかキャンバスが狭いけど動くようになりました。