BasemapライブラリをインストールしてJupyter Notebookにインポートしようとしていますが、次のエラーが返されます。
KeyError: 'PROJ_LIB'
オンラインで調査したところ、BasemapをAnacondaの別の環境にインストールすることを理解しています。新しい環境を作成し、Basemap(および他のすべての関連ライブラリ)をインストールした後、環境をアクティブにしました。しかし、ベースマップをインポートするとき、同じKeyErrorを受け取ります。
MacOSターミナルで行ったことは次のとおりです。
conda create --name Py3.6 python=3.6 basemap
source activate Py3.6
conda upgrade proj4
env | grep -i proj
conda update --channel conda-forge proj4
次に、Jupyter Notebookで次を実行します。
from mpl_toolkits.basemap import Basemap
なぜこれがKeyErrorになるのか誰にも教えてもらえますか?
ノートブックを起動する前に、またはpython with os.environ['PROJ_LIB'] = '<path_to_anaconda>/share/proj'
Windows 10コマンドライン:最初にepsgファイルが保存されているディレクトリを見つけます。
where /r "c:\Users\username" epsg.*
...
c:\ Users\username\AppData\Local\conda\conda\envs\envname\Library\share\epsg
...
次に、コマンドラインで:
activate envname
SET PROJ_LIB=c:\Users\username\AppData\Local\conda\conda\envs\envname\Library\share
(パスの末尾のスペースに先頭がないことを確認してください!)そして、
jupyter notebook
または、これをjupyterノートブックに追加します(john edの提案どおり):
import os
os.environ['PROJ_LIB'] = r'c:\Users\username\AppData\Local\conda\conda\envs\envname\Library\share'
この問題は、「epsg」とPROJ_LIBのファイルの場所が最近のバージョンのpythonで変更されたために発生しますが、Basemapのinit。pyの更新を忘れていました。 anacondaを使用してpythonをインストールした場合、これはespgファイルの可能な場所です:C:\ Users(xxxx)\ AppData\Local\Continuum\anaconda3\pkgs\proj4-5.1.0 -hfa6e2cd_1\Library\shareしたがって、スパイダーまたは使用しているフィールドのコードの先頭にこのパスを追加する必要があります。
輸入OS
os.environ ['PROJ_LIB'] = r'C:\ Users(xxxx)\ AppData\Local\Continuum\anaconda3\pkgs\proj4-5.1.0-hfa6e2cd_1\Library\share '
mpl_toolkits.basemapからインポートベースマップ