利用Python中的gdal写出tif文件,在设置坐标系时出现问题:
ERROR 1: PROJ: proj_create_from_name: D:\ProgramFiles\anaconda\Library\share\proj\proj.db lacks DATABASE.LAYOUT.VERSION.MAJOR / DATABASE.LAYOUT.VERSION.MINOR metadata. It comes from another PROJ installation.
网上到处都是下面这两步的解决方法,
- 重新安装pyproj
 
conda install pyproj
然后继续出错,错误提示:ERROR 1: PROJ: proj_create_from_name: Cannot find proj.db
- 添加环境变量
 
import os
os.environ['PROJ_LIB'] = r"D:\ProgramFiles\anaconda\Lib\site-packages\pyproj\proj_dir\share\proj"
依然报错。。。所以百度到可能是postgis的安装影响了PROJ的使用,在系统自带的环境变量中删除了所有跟QGIS相关的环境变量,但是也没用。
然后在系统中设置环境变量,在python代码开头设置各种,依然没有成功。。。
耗费了一下午,终于在晚上重新打开的时候搜到了一个取巧的方法,
- 
首先把安装好的pyproj文件夹拷贝到当前运行的python文件下
 - 
同样在该Python文件所在的目录下创建一个hook.py文件,写入如下内容并保存
 
import os
import sys
os.environ['PROJ_LIB'] = os.path.dirname(sys.argv[0])
- 在Python文件的开头输入runtime_hooks = ['hook.py'],指定所在的路径
 
然后运行文件,不再报错了
参考方法:https://stackoverflow.com/questions/56472933/pyinstaller-executable-fails








网友评论