如何安装 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)
我安装了什么
我在 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)