python gdal 打包后运行exe Error:cannot find proj.db


import os
import sys
os.environ['PROJ_LIB'] =r'E:\PythonStart\DataProcess\venv\Lib\site-packages\osgeo\data\proj' #os.path.dirname(sys.argv[0])

重新打包即可

考虑到exe文件的可移植性,将proj拷贝到生成的exe文件夹下,代码中指定环境变量的相对路径,重新打包即可

str = os.path.dirname(sys.argv[0])+'/proj'
 
os.environ['PROJ_LIB'] =str
os.environ['GDAL_DATA'] = r'C:\Program Files\QGIS 3.4\share\gdal'
os.environ['PROJ_LIB'] = r'C:\Program Files\QGIS 3.4\share\proj'
os.environ['PROJ_LIB'] = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'proj.db')