欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-05-21 12:19:54
Google Earth Engine学习系列之windowns下搭建GEE本地python开发环境主要参考知乎大神的步骤:https://zhuanlan.zhihu.com/p/40319581但是安装过程中有两次报错1. 错误一安装鉴权验证依赖库,输入命令 pip install pyCrypto 报错: Microsoft Visual C++ 14.0 is required.1.1 原因:在CMD命令行用 pip.exe install pycrypto 安装PyCrypt...

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

运行结果如下图:
Google Earth Engine——windowns下搭建GEE本地python开发环境

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)

结果出现以下报错:
Google Earth Engine——windowns下搭建GEE本地python开发环境
针对该错误,知乎大神自己也做出了补充说明并给出了解决方案,参见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)

运行结果为:
Google Earth Engine——windowns下搭建GEE本地python开发环境

至此,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