Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I avoid PROJ_LIB error in importing basemap?

I tried to import basemap as follows in Python:

from mpl_toolkits.basemap import Basemap

and I get the following error:

Traceback (most recent call last):

  File "<ipython-input-16-880204a64918>", line 2, in <module>
    from mpl_toolkits.basemap import Basemap

  File "C:\Users\bakhadher\AppData\Local\Continuum\anaconda3\lib\site-packages\mpl_toolkits\basemap\__init__.py", line 155, in <module>
    pyproj_datadir = os.environ['PROJ_LIB']

  File "C:\Users\bakhadher\AppData\Local\Continuum\anaconda3\lib\os.py", line 678, in __getitem__
    raise KeyError(key) from None

KeyError: 'PROJ_LIB'
like image 905
Ghazal Avatar asked Jan 15 '19 15:01

Ghazal


2 Answers

From here: https://github.com/conda-forge/basemap-feedstock/issues/30#issuecomment-423512069

import os
import conda

conda_file_dir = conda.__file__
conda_dir = conda_file_dir.split('lib')[0]
proj_lib = os.path.join(os.path.join(conda_dir, 'share'), 'proj')
os.environ["PROJ_LIB"] = proj_lib

from mpl_toolkits.basemap import Basemap```
like image 163
Gaiar Baimuratov Avatar answered Nov 16 '22 15:11

Gaiar Baimuratov


  1. Reintall package(version problem could cause it)
conda install -c conda-forge proj4
conda install basemap
  1. Set enviroment: setenv PROJ_LIB "$CONDA_PREFIX/share/proj"
  2. in python script(need to be custom in different environment)
import os
os.environ['PROJ_LIB'] = '/glade/u/home/lixujin/work/anaconda3/envs/AC_tools/share/proj'
like image 30
lixu jin Avatar answered Nov 16 '22 16:11

lixu jin