J'ai essayé d'utiliser le paquet Basemap pour tracer une carte par PyCharm, mais j'ai eu un problème avec
from mpl_toolkits.basemap import Basemap`
Et le Traceback comme suit:
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 "<ipython-input-4-0a24a3a77efd>", line 7, in <module>
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 <module>
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'
Je suis confus avec cette erreur sur PyCharm, car le même script s'exécute correctement sur Jupyter ou Spyder! L’environnement dans PyCharm est ../anaconda3/lib/python3.6 où est identique à anaconda.
Quelqu'un at-il déjà rencontré cette erreur auparavant? Quelqu'un pourrait-il m'aider à résoudre cette erreur?
Après le commentaire de mewahl, j'ai ajouté à mon .bashrc (j'utilise bash):
exportez PROJ_LIB =/chemin/vers/votre/instalation/de/anaconda / share/proj/
et maintenant la carte de base (et les autres fonctionnent).
Pour Windows 10 avec Anaconda + Python 3.71 (et, j'en suis sûr, d'autres versions de Python 3 et Windows 7/8), vous pouvez indiquer à Basemap où le fichier "epsg" de Proj4 doit réussir. Je n'ai pas d '"environnement" ou quoi que ce soit parce que c'est trop de travail à faire - donc je n'avais pas de zone anaconda\share\proj (pour autant que je puisse discerner pourquoi je ne l'avais pas).
Mais, ce que veut Basemap, c’est le fichier "epsg", recherchez-le dans le répertoire Anaconda à l’aide de l’explorateur Windows. S'il ne le trouve pas, installez Proj4 en ouvrant «l'invite Anaconda» et en tapant:
conda install -c conda-forge proj4
S'il le trouve, il devrait être dans quelque chose comme:
C:\Utilities\Python\Anaconda\Bibliothèque\Share (c'est où mien était, ainsi que\pkgs\endroits où je suppose qu'il met le paquet lui-même - et ceux-ci peuvent fonctionner aussi si besoin est, je les ai utilisés au début, mais la bibliothèque devrait mieux fonctionner avec les mises à jour (peut-être)).
Utilisez le code suivant avant d'importer Basemap et cela fonctionnera. Définit la variable d'environnement PROJ_LIB sur l'emplacement où epsg se trouve, puis Basemap peut être heureux.
import os
os.environ["PROJ_LIB"] = "C:\\Utilities\\Python\\Anaconda\\Library\\share"; #fixr
from mpl_toolkits.basemap import Basemap
En prime, pour obtenir des données haute résolution de Basemap, qu'Anaconda n'inclut pas dans l'installation de Basemap, entrez "Anaconda Prompt":
conda install -c conda-forge basemap-data-hires
Cela semble être un problème commun. Il y a plusieurs rapports de bugs à ce sujet
J'avais moi-même rencontré cette erreur, et la solution pour moi consistait à désinstaller Basemap 1.2, puis à installer Basemap 1.1 à partir d'un ancien fichier .Wav qui traînait toujours, puis à installer à nouveau Basemap 1.2. Honnêtement, je ne sais pas pourquoi cela a bien fonctionné.
De plus, parmi les problèmes évoqués ci-dessus, il y a toutes sortes d'autres solutions que les gens ont indiqué travailler pour eux. J'espère que l'un d'entre eux convient ici aussi.
Proj4 solution facile à résoudre sur pycharm est goto de réglage-> interprète de projet -> + -> écrire proj4 dans le champ de recherche et installer
La réponse est de Github et cela a fonctionné pour moi . 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
J'ai rencontré le même problème. J'ai installé anaconda et installer conda install -c anaconda basemap.
J'ai utilisé Anaconda construit dans IDE nommé "Spyder" . Spyder est meilleur que pycharm. Le seul problème avec Spyder est le manque d'intellisense.
J'ai résolu le problème de Proj4 en définissant le chemin.
Autres problèmes lors du redémarrage du noyau lors du chargement d’un ensemble de données de fichier plus volumineux .json.
J'utilise notepad ++ et l'éditeur 010 pour ré-enregistrer le fichier par petits morceaux et enfin, j'ai fusionné toutes les sorties.