python - PyCharm 中 basemap 导入错误 — KeyError : 'PROJ_LIB'

标签 python python-3.x pycharm matplotlib-basemap

我尝试使用 Basemap 包通过 PyCharm 绘制 map ,但我遇到了一些问题

from mpl_toolkits.basemap import Basemap`

追溯如下:

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'

我对 PyCharm 上的这个错误感到困惑,因为相同的脚本在 Jupyter 或 Spyder 上运行正确! PyCharm 中的环境是 ../anaconda3/lib/python3.6,与 anaconda 相同。

有没有人遇到过这个错误?

谁能帮我解决这个错误?

最佳答案

对于带有 Anaconda + Python 3.71 的 Windows 10(我确信其他 Python 3 版本和 Windows 7/8),您可以告诉 Basemap Proj4 的“epsg”文件在哪里成功。我没有“环境”或其他任何东西,因为要弄清楚它的工作太多了——所以我没有 anaconda\share\proj 区域(据我所知,为什么我没有它)。

但是,Basemap 想要的是“epsg”文件,请使用 Windows 资源管理器在 Anaconda 目录中搜索它。如果找不到它,请打开“Anaconda Prompt”并输入以下内容来安装 Proj4:

conda install -c conda-forge proj4

如果找到它,它应该是这样的:

C:\Utilities\Python\Anaconda\Library\Share(这是我的地方,以及\pkgs\地方,我猜它把包本身放在那里 - 如果需要,我一开始使用它们,但是库应该更好地通过更新工作(也许))。

在导入 basemap 之前使用以下代码,它会起作用。将环境变量 PROJ_LIB 设置为 epsg 所在的位置,然后 Basemap 就可以使用了。

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

作为一个不错的奖励,要获得 Basemap 的高分辨率数据,Anaconda 不包括在启动的 Basemap 安装中,请输入“Anaconda Prompt”:

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

关于python - PyCharm 中 basemap 导入错误 — KeyError : 'PROJ_LIB' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52295117/

相关文章:

python-3.x - ImportError : sys. meta_path 为 None,Python 可能正在关闭

python - 在Python中,如果没有结果,返回什么,False还是None?

python - 谷歌应用引擎/python : Can I depend on Task queue retry on failure to keep insertions to a minimum?

python - 为 PySpark 捆绑 Python3 包导致缺少导入

python-3.x - Keras/Tensorflow 模型适用于验证图像,但不适用于真实世界数据

python - 在 PyCharm 中实现对额外测试运行程序的支持

python - 运行以退出代码 -1 结束的 Pycharm 调试

python - 机器人 Controller 代码: Error when loading

python - 即使文件存在,文件 b'train.csv' 也不存在

python - 获取方法/函数中使用的类的列表