我正在尝试在 Ubuntu 16.04 上运行 anaconda python 2.7.15 的远程服务器上安装 pyproj。运行后(在https://anaconda.org/conda-forge/pyprojconda install -c conda-forge pyproj
列出的第一个选项),包安装成功(pyproj 2.0.2)。但是,在运行我的程序时,我得到以下回溯:
Traceback (most recent call last):
File "run_qc_worker.py", line 1288, in <module>
GC.make_metadata_caches() # For percentiles check
File "/home/ubuntu/qc-mem/qc/lib/global_class.py", line 384, in make_metadata_caches
mercator_arr = self.proj_arr(lat_lon_arr) # project to x/y
File "/home/ubuntu/qc-mem/qc/lib/global_class.py", line 421, in proj_arr
inproj = Proj(init='epsg:4326') # WGS 84
File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/pyproj/__init__.py", line 322, in __init__
self.crs = CRS.from_user_input(projparams if projparams is not None else kwargs)
File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/pyproj/crs.py", line 224, in from_user_input
return cls(**value)
File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/pyproj/crs.py", line 146, in __init__
super(CRS, self).__init__(projstring)
File "pyproj/_crs.pyx", line 307, in pyproj._crs._CRS.__init__
File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/pyproj/datadir.py", line 62, in get_data_dir
"Valid PROJ.4 data directory not found."
pyproj.exceptions.DataDirError: Valid PROJ.4 data directory not found.Either set the path using the environmental variable PROJ_LIB or with `pyproj.datadir.set_data_dir`.
在我的 python 脚本中,我使用 导入from pyproj import Proj, transform
,相关的代码行是:
inproj = Proj(init='epsg:4326') # WGS 84
outproj = Proj(init='epsg:3857') # WGS 84 / Pseudo-Mercator
显然,pyproj 无法找到data
目录。搜索目录
~/anaconda2/lib/python2.7/site-packages/pyproj
,我确认没有data
目录。我有另一台服务器,在 anaconda3 上安装了 pyproj,它确实包含一个data
目录(带有一个epsg
文件)。我将此目录复制到 anaconda2 服务器,并按照回溯中的说明使用环境变量声明路径:
export PROJ_LIB=~/anaconda2/lib/python2.7/site-packages/pyproj/data
我仍然得到相同的错误回溯。
我data
在 github repo 上找不到 pyproj 的目录(https://github.com/pyproj4/pyproj/)。
如何解决此错误?