如何安装 Python Pydap util 模块 (pydap.util)

How can I install Python Pydap util module (pydap.util)

我安装了什么

我在 Ubuntu 上安装了 Pydap 使用:

sudo pip install Pydap

如果我正确理解 pip search pydap 命令的输出,那么我已经正确安装了所有 Pydap 模块。

但为了 100% 确定我还输入了:

sudo apt-get install python-dap

没有模块

然而,据我所知,没有实用程序路径:

/usr/local/lib/python2.7/dist-packages/pydap/util

所以我无法导入util模块(import pydap.util)来执行以下代码:

from pydap.util.urs import install_basic_client

install_basic_client()

from pydap.client import open_url
dataset = open_url('https://goldsmr4.gesdisc.eosdis.nasa.gov/opendap/MERRA2/M2T1NXSLV.5.12.4/2016/06/MERRA2_400.tavg1_2d_slv_Nx.20160601.nc4')

(从 https://wiki.earthdata.nasa.gov/display/EL/How+To+Access+Data+With+PyDAP 复制的代码)

好像是:

apt-file find urs.py

没有返回任何要安装的软件包名称

备注

https://wiki.earthdata.nasa.gov/display/EL/How+To+Access+Data+With+PyDAP 对于那些没有安装 util 模块的人,有示例 'AUTH MODULE CODE',但它对我不起作用 - 以下行有问题:

opener.addheaders = [('User-agent', pydap.lib.USER_AGENT)]

因为 pydap.lib 没有 USER_AGENT 定义:

AttributeError: 'module' object has no attribute 'USER_AGENT'

请注意,我将回答我认为你实际上问的问题,而不是你问的问题:)

真正的问题是:"How do I access NASA Earth data that is behind an auth wall?"

很遗憾,您引用的 NASA 文档有点过时了。有两个不同的提议修改 Pydap 客户端以允许对 NASA/URS 服务进行身份验证。最终胜出的是一个不同的提案,而不是这个 NASA wiki 所基于的提案。

所以你的问题的答案是:"How do I install Pydap.util?",你不能,因为那是一个内部模块,已在最新版本中删除(3.2).

但是,应该可以通过预装最新版本的 Pydap 来访问地球数据。现在是 supported feature and its usage is described in the documentation.

你应该可以用几行简单的代码来做到这一点:

from pydap.client import open_url
from pydap.cas.urs import setup_session
session = setup_session("your_username", "your_pw")
dataset = open_url('http://server.example.com/path/to/dataset', session=session)