如何正确安装 csdtoolbox-remote?

Posted

技术标签:

【中文标题】如何正确安装 csdtoolbox-remote?【英文标题】:How to properly install csdtoolbox-remote? 【发布时间】:2020-04-09 02:51:49 【问题描述】:

我在我的 Linux 机器上安装 cdstoolbox-remote 时遇到问题(Ubuntu 和 Debian 都试过)。我使用 pip 安装了它:

pip install cdstoolbox-remote  

成功安装了模块,但我无法在 Python 中导入模块。导入模块会导致以下错误:

>>> import cdstoolbox
Traceback (most recent call last):  
File "<stdin>", line 1, in <module>  
File "/home/an/miniconda2/envs/tools/lib/python3.7/site-packages/cdstoolbox/__init__.py",  
line 8, in <module>  
with open(__main__.__file__) as f:  
AttributeError: module '__main__' has no attribute '__file__'  

怎样才能让它发挥作用?

【问题讨论】:

版本 0.0.1,开发状态 3 - Alpha。主页链接指向登录页面。好像不能用。 【参考方案1】:

其实CDSAPI也可以用来执行如下工作流:

import cdsapi
 
c = cdsapi.Client()
 
with open("workflow.py") as f:
    code = f.read()
 
r = c.workflow(code)
print(c.download(r))

有关更多信息,请阅读哥白尼服务文档中的this thread。

【讨论】:

【参考方案2】:

你真的需要 cdstoolbox-remote 吗?从 CDS 下载数据的标准 API 是 cdsapi,可以使用

pip install cdsapi

或使用 conda (https://anaconda.org/conda-forge/cdsapi)

我也刚刚尝试安装 cdstoolbox-remote 并遇到了同样的问题。但由于它被标记为实验性,我什至认为当前版本可能不是稳定版本。 而且 cdsapi 似乎可以工作。

【讨论】:

cdsapi 确实有效,非常好。它的问题实际上不是问题,而是 CDS 存储的一个限制是它没有日常的数据手段。所以你必须使用 cdstoolbox 来处理数据然后下载它。为此,您必须在浏览器中使用 cdstoolbox,这在下载数 TB、跨越数年和变量的数据时效率有点低。如果有一个模块可以让您从终端而不是 Web 界面放置 cdstoolbox 请求,那就更好了。

以上是关于如何正确安装 csdtoolbox-remote?的主要内容,如果未能解决你的问题,请参考以下文章

如何正确使用 Composer 安装 Laravel 扩展包

如何正确使用 Composer 安装 Laravel 扩展包

如何正确使用 Composer 安装 Laravel 扩展包

如何正确使用 Composer 安装 Laravel 扩展包

如何验证 geoupdate 是不是正确安装

如何正确安装ADB工具