Python 导入basemap的Spyder中的PROJ_LIB错误
我对python非常陌生,我正在尝试将Python 导入basemap的Spyder中的PROJ_LIB错误,python,matplotlib-basemap,Python,Matplotlib Basemap,我对python非常陌生,我正在尝试将basemap导入Spyder 3.6。我在Anadonda提示符和Spyderimport basemap中使用了conda install basemap,但出现了一个错误 File "<ipython-input-1-d9467465a3b6>", line 1, in <module> from mpl_toolkits.basemap import Basemap File "D:\Anaconda_Py
basemap
导入Spyder 3.6。我在Anadonda提示符和Spyderimport basemap
中使用了conda install basemap
,但出现了一个错误
File "<ipython-input-1-d9467465a3b6>", line 1, in <module>
from mpl_toolkits.basemap import Basemap
File "D:\Anaconda_Python\lib\site-packages\mpl_toolkits\basemap\__init__.py", line 155, in <module>
pyproj_datadir = os.environ['PROJ_LIB']
File "D:\Anaconda_Python\lib\os.py", line 678, in __getitem__
raise KeyError(key) from None
KeyError: 'PROJ_LIB'
文件“”,第1行,在
从mpl_toolkits.basemap导入basemap
文件“D:\Anaconda\u Python\lib\site packages\mpl\u toolkits\basemap\\uuuuu init\uuuuu.py”,第155行,在
pyproj_datadir=os.environ['PROJ_LIB']
文件“D:\Anaconda\u Python\lib\os.py”,第678行,在\uu getitem中__
从“无”提升钥匙错误(钥匙)
KeyError:“项目库”
我也研究过类似的问题,但对我来说不起作用:
-
但错误刚刚更改为
FileNotFoundError:[Errno 2]没有这样的文件或目录:“D:\\Anaconda\u Python\\share\\proj\\epsg'
- 这似乎是一个常见问题。问题在于Basemap没有正确定位Proj4的“epsg”文件所在的位置。
通过首先查找文件“epsg”所在的位置,然后使用一些代码添加路径本身,可以很容易地解决这个问题
应该是这样的地方(这是我的位置,根据环境名称和下载Anaconda的位置而有所不同)
C:\Users\XXX\Anaconda3\envs\env\Library\share
查看您的错误消息,我相信您的错误消息应该位于“D:\Anaconda\u Python\share”中的某个位置
然后在导入Basemap之前插入以下代码,它应该可以工作
import os
os.environ["PROJ_LIB"] = r'C:\Users\XXX\Anaconda3\envs\env\Library\share (location of epsg)'
from mpl_toolkits.basemap import Basemap
您也可以将epsg文件复制到它搜索它的目录中,在您的情况下
D:\\Anaconda\u Python\\share\\proj\\\
我遇到了相同的错误(Windows 10,Anaconda)。所以我试图找到出现在“C:\Users\Yury\anaconda3\Library\share”中的“epsg”文件,通过添加这些行,我终于让它工作了
import os
os.environ["PROJ_LIB"] = 'C:\\Users\\Yury\\anaconda3\\Library\\share'
或者也可以这样做
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, 'Library'), 'share')
os.environ["PROJ_LIB"] = proj_lib
感谢您为我编写了这段代码!谢谢这在我使用os.environ[“PROJ_LIB”]=r'/opt/anaconda3/share/PROJ'时起到了作用