Error de importación de mapa base en PyCharm – KeyError: ‘PROJ_LIB’

Traté de usar el paquete Basemap para trazar un mapa de PyCharm, pero tengo algo mal con

from mpl_toolkits.basemap import Basemap` 

Y la Traceback como sigue:

 Traceback (most recent call last): File "/Users/yupeipei/anaconda3/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2963, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "", line 7, in  from mpl_toolkits.basemap import Basemap File "/Applications/PyCharm.app/Contents/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 20, in do_import module = self._system_import(name, *args, **kwargs) File "/Users/yupeipei/anaconda3/lib/python3.6/site-packages/mpl_toolkits/basemap/__init__.py", line 146, in  pyproj_datadir = os.environ['PROJ_LIB'] File "/Users/yupeipei/anaconda3/lib/python3.6/os.py", line 669, in __ getitem__ raise KeyError(key) from None KeyError: 'PROJ_LIB' 

¡Estoy confundido con este error en PyCharm, porque la misma secuencia de comandos se está ejecutando correctamente en Jupyter o Spyder! El entorno en PyCharm es ../anaconda3/lib/python3.6 donde es el mismo que anaconda.

¿Alguien ha cumplido este error antes?

¿Alguien podría ayudarme a resolver este error?

Siguiendo el comentario de mewahl que he agregado a mi .bashrc (uso bash):

exportar PROJ_LIB = / ruta / a / su / instalación / de / anaconda / share / proj /

y ahora el mapa base (y otros funcionan).

Para Windows 10 con Anaconda + Python 3.71 (y estoy seguro de otras versiones de Python 3 y Windows 7/8), puede decirle a Basemap dónde tendrá éxito el archivo “epsg” de Proj4. No tengo un “entorno” o lo que sea porque es demasiado trabajo para entenderlo, así que no tuve un área de anaconda \ share \ proj (hasta donde pude discernir por qué no lo tenía).

Pero, lo que el mapa base desea es el archivo “epsg”, busque el directorio de Anaconda con Windows Explorer. Si no lo encuentra, instale Proj4 abriendo el “Aviso Anaconda” y escribiendo:

 conda install -c conda-forge proj4 

Si lo encuentra, debería estar en algo como:

C: \ Utilities \ Python \ Anaconda \ Library \ Share (es donde estaba el mío, así como en \ pkgs \ lugares donde supongo que coloca el paquete en sí, y que también pueden funcionar si es necesario, los usé al principio, pero la biblioteca debería funcionar mejor a través de las actualizaciones (tal vez).

Usa el siguiente código antes de importar el mapa base y funcionará. Establece la variable de entorno PROJ_LIB en donde sea que esté epsg y luego el mapa base puede ser feliz.

 import os os.environ["PROJ_LIB"] = "C:\\Utilities\\Python\\Anaconda\\Library\\share"; #fixr from mpl_toolkits.basemap import Basemap 

Como una buena ventaja, para obtener datos de alta resolución de Basemap, que Anaconda no incluye en la instalación de Basemap para comenzar, escriba “Anaconda Prompt”:

 conda install -c conda-forge basemap-data-hires 

Esto parece ser un problema común. Hay varios informes de errores al respecto

Me encontré con este error, y para mí, la solución fue desinstalar el mapa base 1.2, luego instalar el mapa base 1.1 desde un archivo de rueda anterior que aún tenía y volver a instalar el mapa base 1.2. Sinceramente, no tengo idea de por qué funcionó.

Además, a partir de los temas mencionados anteriormente, hay todo tipo de otras soluciones que las personas han informado que funcionan para ellos. Esperemos que uno de ellos también encaje aquí.

Me enfrenté al mismo problema. Instalé anaconda e instalé conda install -c anaconda basemap.

Usé Anaconda construido en IDE llamado “Spyder”. Spyder es mejor que pycharm. El único problema con el spyder es la falta de inteligencia.

Resolví el problema de Proj4 estableciendo la ruta.

Otro problema al reiniciar el kernel al cargar un conjunto de datos de archivos más grande .json.

Utilizo el editor notepad ++ y 010 para volver a guardar el archivo en fragmentos pequeños y al final fusioné todas las salidas.

Proj4, la solución fácil de corregir en pycharm es ir a configuración-> intérprete del proyecto -> + -> escribir proj4 en el campo de búsqueda e instalar.

La respuesta es de Github y funcionó para mí. https://github.com/conda-forge/basemap-feedstock/issues/30

 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