当前位置: 移动技术网 > IT编程>脚本编程>Python > Google Earth Engine——windowns下搭建GEE本地python开发环境

Google Earth Engine——windowns下搭建GEE本地python开发环境

2020年07月16日  | 移动技术网IT编程  | 我要评论

Google Earth Engine学习系列

之windowns下搭建GEE本地python开发环境

windowns下搭建GEE本地python开发环境,主要参考知乎大神的步骤:https://zhuanlan.zhihu.com/p/40319581。但是操作过程中遇到了一些问题,因此在网上查阅资料,将自己遇到的问题总结如下。查阅资料的过程中,参考了多个平台的博客内容,文中均已标出,在此表示真诚的感谢!


按照上述知乎大神提供的步骤操作,环境配置中遇到两次报错。两次报错均发生在安装鉴权验证依赖库的过程中,即以下代码报错:

pip install pyCrypto

环境配置完成后,代码试运行过程中也有一次报错: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

针对上述三个错误及相应的解决方案进行总结,希望能够帮助到有需要的人。

  • 文章快速导览
    红色字体标出的为报错内容,
    黄色高亮标出的为最终解决方案。

1. 错误一

安装鉴权验证依赖库,输入命令 pip install pyCrypto 报错: Microsoft Visual C++ 14.0 is required.

1.1 原因:

在CMD命令行用 pip.exe install pycrypto 安装PyCrypto模块时报错:
error: Microsoft Visual C++ 14.0 is required。是因为pycrypto模块编译需要依赖Visual C++ 14.0的编译工具。

1.2 解决方案:

网上的解决方案总共三种

  1. 不推荐】简单粗暴但是耗时耗力——直接安装Visual Studio 2015。
    有兴趣的可以参考:https://blog.csdn.net/yingzoe/article/details/81095044?utm_source=blogxgwz0

  2. 可尝试】较为简单高效——直接下载whl库进行安装
    一般碰到 Microsoft Visual C++ 14.0 is required,最好的解决办法就是下在网上下一个whl库到本地,我们再安装就好了。
    常用的whl库下载地址地址:
    pipy官方下载
    该方法参考该博主,本人未尝试。

  3. 推荐】亲测简单高效——安装Visual C++ Build Tools
    该方法参考[该博主]
    (https://blog.csdn.net/qq_38161040/article/details/87929616)
    下载 Visual C++ Build Tools,下载链接如下:
    https://blog.csdn.net/qq_38161040/article/details/88203864
    下载之后,按照步骤安装即可。


我在完成上述步骤后,又遇到了以下的报错。

错误二

windows下安装PyCrypto 提示ERROR: Command ‘C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe’ failed with status 2

尝试了手动下载pyceryto包,利用pip install安装,失败了。

最后找到简书上的这篇文章。成功解决问题。

以下内容摘自上述文章:

原因: " 由于 PyCrypto 已经超过三年无人维护,因此 Github 上的开发者 Varbin 在该项目的 Github issue 里呼吁开发们不要再使用 PyCrypto ,而应该将 PyCrypto 替换为 PyCryptodome。对于使用 PyCrypto 的已有项目而言,PyCryptodome 保持了与 PyCrypto 相当高的兼容性并且处于良好的维护状态,因此便于更换。对于要使用 Python 加密库的新项目,建议开发者使用 PyCryptodome 或者 cryptography。"

解决方法: 使用 PyCryptodome安装,cmd命令行的代码如下

pip install  pycryptodome

运行结果如下图:
在这里插入图片描述

3. 错误三

根据知乎大神的文章,运行以下代码检查环境配置是否成功:

#-*- coding:utf-8 -*-
import ee


ee.Initialize()
image1 = ee.Image('srtm90_v4')
path = image1.getDownloadUrl({
    'scale': 30,
    'crs': 'EPSG:4326',
    'region': '[[-120, 35], [-119, 35], [-119, 34], [-120, 34]]'
})
#获取下载地址
print(path)

结果出现以下报错:
在这里插入图片描述
针对该错误,知乎大神自己也做出了补充说明并给出了解决方案,参见https://zhuanlan.zhihu.com/p/50717864

在此结合自己的实际操作进行转述

错误为: [WinError 10060]** 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

原因: 网络连接问题。访问GEE 网站需要通过代理服务器实现。

解决方案: 在代码中加入以下两句话,加在import ee之后即可

os.environ ['HTTP_PROXY'] ='http://127.0.0.1:1080'
os.environ ['HTTPS_PROXY'] ='http://127.0.0.1:1080'

即将代理服务器的端口写在代码中,保证能够正确的通过代理服务器访问GEE。代码中,http地址的最后一个数1080,需要更改为你自己的代理服务器端口。结合你自己的代理服务器的情况,一般可以自己设置。

比如我自己的代理服务器端口为80,那么以下代码就可以成功运行。

#-*- coding:utf-8 -*-
import ee
import os
os.environ ['HTTP_PROXY'] ='http://127.0.0.1:80'
os.environ ['HTTPS_PROXY'] ='http://127.0.0.1:80'

ee.Initialize()
image1 = ee.Image('srtm90_v4')
path = image1.getDownloadUrl({
    'scale': 30,
    'crs': 'EPSG:4326',
    'region': '[[-120, 35], [-119, 35], [-119, 34], [-120, 34]]'
})
#获取下载地址
print(path)

运行结果为:
在这里插入图片描述

至此,GEE的本地python环境配置完成,代码试运行成功~

-----------------撒花------------------庆祝----------------加油-----------------


参考文章:

  1. https://zhuanlan.zhihu.com/p/40319581
  2. https://blog.csdn.net/yingzoe/article/details/81095044?utm_source=blogxgwz0
  3. https://blog.csdn.net/qq_38161040/article/details/87929616
  4. https://www.jianshu.com/p/fdc5a5854b04
  5. https://zhuanlan.zhihu.com/p/50717864

本文地址:https://blog.csdn.net/Yqq19950707/article/details/107342998

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网