你敢信?新版的Python居然因为这个原因被束缚住了。

欢迎关注各平台通用账户:一个有趣的灵魂W

 

根据我有限的知识,Python已经更新到3.9了。

而我还在用Python3.7。虽然我曾短暂的使用了Python3.8。

 

Python3.8和Python3.9中新增了很多新的特性。

python3.9的部分新特性:

字典合并、可迭代对象的字典更新、类型提示、新增字符串函数、新的解析器

python3.8的部分新特性:

Typing模块的改进、新版本的pickle协议、可反转字典、Python C API和CPython实现、多进程共享内存

 

好了,新的python好归好,但也有局限性:

地学遥感的学习过程中,GDAL是必备的。而GDAL并不是纯纯的python衍生产品

 

GDAL是栅格和矢量地理空间数据格式的转换器库,由开源地理空间基金会以X / MIT样式的开源许可证发布。 作为一个库,它为调用的应用程序提供了所有支持格式的单个栅格抽象数据模型和单个矢量抽象数据模型。 它还带有用于数据转换和处理的各种有用的命令行实用程序。

 

GDAL的开发语言是C/C++

这就很容易出现问题,容我娓娓道来,如果不想看这段,就跳到后面吧。

当我发现Python3.8多进程共享内存的优势后,毫不犹豫的更新了Anaconda和python。同时被更新的Anaconda自带的Spyder4所深深吸引(Spyder4的新特性包括折叠代码块,独立的图片显示区,优化的自动填补功能)。这些便利让我开始固执的使用起了Python3.8。一开始也确实给我带来了许多便利。但是慢慢的我就发现了很多问题:

问题1

python调用cmd运行GDAL报错解决:ERROR 1: PROJ

图标

问题2

python都拿你没办法,历史版本Anaconda下载

图标

每次发现问题,我都不愿意直面我最初的选择是错的。直到最后:

(我遇到了很多报错,但却忘了截图,如果你们的GDAL也有类似的问题,可以参考我以下的解决办法。)


直接上解决原理跟解决办法吧:

 

首先,GDAL并非单纯的Python衍生库,所以合理的安装方式应该是先安装Python,再安装GDAL(C/C++),再安装连接器(对应了GDAL和python的版本)。

 

其次,我们翻遍了连接器的支持版本,发现目前没有Python3.8(这就是我们一直报错的根源)

https://www.gisinternals.com/query.html?content=filelist&file=release-1900-x64-gdal-2-4-4-mapserver-7-4-3.zip

(我们打开GDAL2.4.4版本)

 

(如果你很熟悉的话,到此就为止啦)

所以解决的方式,只能安装Python3.7。

然后Anaconda更新Spyder4。

如果你跟我一样遇到类似的问题。参考以下解决方式吧:

 

你敢信?新版的Python居然因为这个原因被束缚住了。

图标

领取一份完整的解决办法吧。

 

 

 

往期

嗨吖,Pandownload复活啦。

谷歌地球引擎python文档(GEE_python_API)白嫖

自然资源部贡献的Landuse数据(2000、2010、2020)

最新版中国范围路网数据来啦(OpenStreet Map,OSM)

posted @ 2020-10-26 22:30  一个有趣的灵魂W  阅读(254)  评论(2)    收藏  举报