使用OSMnx包时遇到PyProj PROJ数据目录未找到问题的求助
解决OSMnx导入时pyproj的PROJ数据目录警告问题
我之前也碰到过类似的情况,这个警告本质是pyproj没法自动找到PROJ的系统数据目录,咱们可以从这几个方向尝试解决:
1. 手动设置PROJ_LIB环境变量
- 先找到你Anaconda环境里PROJ的数据目录,一般在你的环境路径下,比如
C:\Users\Reza\anaconda3\envs\ox\Library\share\proj(如果是默认安装的话,这个路径大概率是对的,你可以去确认下里面有没有.prj之类的配置文件) - 然后在Python代码最开头添加这两行,直接设置环境变量:
注意路径前的import os os.environ['PROJ_LIB'] = r'C:\Users\Reza\anaconda3\envs\ox\Library\share\proj'r是防止转义字符出问题,务必替换成你实际找到的目录路径
2. 使用pyproj内置方法指定数据目录
- 另一种方式是直接用pyproj提供的方法指定数据目录,同样先确认好PROJ的data路径,然后在导入OSMnx之前执行:
import pyproj pyproj.datadir.set_data_dir(r'C:\Users\Reza\anaconda3\envs\ox\Library\share\proj') import osmnx as ox
3. 重新安装依赖(确保版本兼容)
有时候可能是安装过程中PROJ的数据文件没装全,或者版本不匹配导致的:
- 先卸载现有包:
pip uninstall -y pyproj osmnx - 然后用conda重新安装,conda会自动处理所有依赖(包括PROJ的完整数据文件):
用conda-forge频道安装能避免很多跨包依赖冲突的问题conda install -c conda-forge osmnx pyproj
4. 重建Anaconda环境
如果上面的方法都不行,可能是你的conda环境存在损坏,可以尝试:
- 创建一个全新的Python 3.10环境:
conda create -n ox_new python=3.10 conda activate ox_new - 然后直接安装OSMnx,conda会自动把所有配套依赖(包括pyproj和PROJ数据)都完整装好:
conda install -c conda-forge osmnx
你可以按顺序试试这些方法,一般前两种就能解决问题,如果还是不行,重新安装依赖或者重建环境大概率能搞定。
内容的提问来源于stack exchange,提问作者smr.hosseini
相关产品推荐
相关产品推荐

