这个问题爆的有点莫名其妙,代码~环境基本没什么大的变化,好端端就报错了,原先的代码运行了很久才发现,没有结果?摸排了好久都没发现问题。直到pycharm和spyder更新后,总算是发现了报错信息:
之前安装好python+GDAL+‘python gdal’后,利用python调用cmd运行gdal的裁剪~转换~等功能都很正常。直到最近,不正常了,先上报错:
ERROR 1: PROJ: proj_create_from_database: Cannot find proj.db
ERROR 1: Failed to process SRS definition: EPSG:4326
![8fa1b9d8a2d3f1c1e4a7fd28b545f81b.png](https://i-blog.csdnimg.cn/blog_migrate/d1fdada952c0f606383ad875994a83b5.png)
就在python中出问题,不论是使用os还是subprocess.call,都无法正常运行。
一开始我重装了gdal2.4,突然可以运行重投影。但是第二天又报错了,又重装,无果,尝试更换3.7.8python和3.8的python,无果(插一句,发现3.8更新里多进程可以实现内存共享了,下次看看多3.8进程的威力吧)。后来我试着用python2.7,可以运行,但是不想用。
问题一步一步排除之后,查找问题,在stack overflow上发现有人解决了:
https://stackoverflow.com/questions/56472933/pyinstaller-executable-failsstackoverflow.com有兴趣的可以去看看,解决的办法也是很粗暴。但并没有把核心问题解决,我估计下次还会出错。
![4cb6454bf446a3b7b34783f2be70b33d.png](https://i-blog.csdnimg.cn/blog_migrate/5c9862e85c650d850f975976a32a8d98.jpeg)
题主真是个自问自答的小可爱!
我试着,也顺利解决了:
![1716881e0499108f97e61a2b5210ff8d.png](https://i-blog.csdnimg.cn/blog_migrate/b7c931bf0ad31b386252664f2d70a4cd.png)
看来问题出在os上
import os
import sys
os.environ['PROJ_LIB'] = os.path.dirname(sys.argv[0])
附录:
spyder更新了,越来越接近pycharm的样式了,用的不是很习惯,但还是慢慢接受新鲜事物吧。
唯一困难的就是第三方库之间的迁移,因为换成了python3.8,所以之前3.7.3的库并不能直接copy。又担心硬复制回头会出问题,还是乖乖的一个一个conda install吧。
![3448200d2d843df45012502df179c710.png](https://i-blog.csdnimg.cn/blog_migrate/9f43623996b07a1c39fb03ed5c67fe97.jpeg)
如果需要了解更详细的内容
python调用cmd运行GDAL报错解决:ERROR 1: PROJmp.weixin.qq.com![424a33bf5840db4f2a7f3f1e96c259c9.png](https://i-blog.csdnimg.cn/blog_migrate/2edb080b728a03a2cdb356486cf5a362.jpeg)