我正在尝试使用Matplotlib底图工具包,但是在尝试导入时会遇到与FileNotFoundError
相关的epsg
。
我使用以下命令安装了它:
conda install -c conda-forge basemap
这是我的导入命令:
from mpl_toolkits.basemap import Basemap
这是错误:
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
<ipython-input-1-d9467465a3b6> in <module>
----> 1 from mpl_toolkits.basemap import Basemap
/anaconda3/lib/python3.7/site-packages/mpl_toolkits/basemap/__init__.py in <module>
154 # create dictionary that maps epsg codes to Basemap kwargs.
155 pyproj_datadir = os.environ['PROJ_LIB']
--> 156 epsgf = open(os.path.join(pyproj_datadir,'epsg'))
157 epsg_dict={}
158 for line in epsgf:
FileNotFoundError: [Errno 2] No such file or directory: '/anaconda3/share/proj/epsg'
我对Basemap完全陌生,所以我不确定如何解决此问题。我正在使用Jupyter Notebook在macOS Mojave 10.14.6上运行Python 3.7.3。
谢谢。
答案 0 :(得分:0)
您正在寻找以下文件:https://github.com/matplotlib/basemap/blob/master/lib/mpl_toolkits/basemap/data/epsg
您的PROJ_LIB
环境变量似乎未以.../site-packages
结尾。
请参阅https://ctcoding.wordpress.com/2019/01/29/solved-proj_lib-error-when-installing-basemap-on-windows-using-anaconda/
看看$ conda info --base
,然后运行
$ find `conda info --base` -name epsg
验证文件已安装在预期目录中。
调整PROJ_LIB
指向该位置。
答案 1 :(得分:0)
如另一条评论所述,在终端或Anaconda执行器中运行此命令(如果在Anaconda中运行,请确保复制和粘贴以下内容重做单引号部分):
$ find `conda info --base` -name epsg
运行该命令时,应显示几个文件路径。将底图导入程序之前,请输入以下几行:
import os
os.environ['PROJ_LIB'] = '/Users/XXXXXXXX/opt/anaconda3/pkgs/proj4-5.2.0-h0a44026_1/share/proj/'
其中用引号引起来的整个行是从代码的第一行开始出现的文件路径(末尾没有epsg /)。上面引号中的部分是为我显示的。如果没有文件路径出现或出现其他问题,请查看github页面(只是在Google上查看错误)或尝试
conda install -c conda-forge proj4