【问题标题】:Trouble using FRED API in Python -- cannot load module在 Python 中使用 FRED API 时遇到问题 - 无法加载模块
【发布时间】:2012-07-11 12:29:09
【问题描述】:

我正在尝试将此 API 用于美联储经济数据 (FRED): https://github.com/zachwill/fred

我安装了文档中所说的三个模块。我收到此错误:

import fred

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import fred
  File "build\bdist.win32\egg\fred\__init__.py", line 1, in <module>
    # Dummy file to make this a package.
  File "build\bdist.win32\egg\fred\fred.py", line 21, in <module>
ImportError: cannot import name xml2dict

然后我安装了 xml2dict 并再次安装了 fred。当我现在先导入 xml2dict 然后导入 fred 时,我得到了完全相同的错误。

我很难学会在 Python 中安装模块,但我想我终于弄明白了。我似乎无法在这里找到我做错了什么,并且可以使用一些帮助。谢谢!

对于 Zach:这是我目前遇到的问题:

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    fred.series('GNPCA')
  File "build\bdist.win32\egg\fred\api.py", line 90, in series
    return Fred().series(path, **kwargs)
  File "build\bdist.win32\egg\fred\core.py", line 100, in series
    return self.get('series', path, **kwargs)
  File "build\bdist.win32\egg\fred\core.py", line 36, in get
    request = requests.get(url, params=params)
  File "C:\Python26\lib\site-packages\requests-0.13.2-py2.6.egg\requests\api.py", line 54, in get
    return request('get', url, **kwargs)
  File "C:\Python26\lib\site-packages\requests-0.13.2-py2.6.egg\requests\safe_mode.py", line 37,     in wrapped
    return function(method, url, **kwargs)
  File "C:\Python26\lib\site-packages\requests-0.13.2-py2.6.egg\requests\api.py", line 42, in     request
return s.request(method=method, url=url, **kwargs)
  File "C:\Python26\lib\site-packages\requests-0.13.2-py2.6.egg\requests\sessions.py", line 230, in request
    r.send(prefetch=prefetch)
  File "C:\Python26\lib\site-packages\requests-0.13.2-py2.6.egg\requests\models.py", line 601, in send
    raise ConnectionError(e)
ConnectionError: HTTPConnectionPool(host='api.stlouisfed.org', port=80): Max retries exceeded with     url: /fred/series?series_id=GNPCA&api_key=

【问题讨论】:

    标签: python import module installation economics


    【解决方案1】:

    我是fred 包的开发者。这完全是我的错——我错误地配置了setup.py 文件,我刚刚推送了一个应该解决这个问题的更新。很抱歉造成混乱!

    【讨论】:

    • 谢谢!刚刚安装成功。它看起来是一个非常不错的工具。
    • 我仍然遇到这个问题。我尝试在使用情况下按照您的示例进行操作。我确实导入了 fred,然后导入了 fred.key('my key from FRED')。然后当我尝试执行 fred.series('GNPCA') 时,出现错误 ConnectionError: HTTPConnectionPool(host='api.stlouisfed.org', port=80): Max retries exceeded with url: /fred/series?series_id= GNPCA&api_key=[删除了我的密钥]。该示例命令对您有用吗?
    【解决方案2】:

    安装模块的一般提示:

    通常最简单的方法是使用pipeasy_install(或二进制安装程序,如果可用) - 这样您只需easy_install fred,所有需要的东西都会自动下载(只要它已经配置正确)。

    查看http://pypi.python.org/pypi/setuptools 的 setuptools 并为您的相应操作系统版本安装它。然后,您将获得一个名为 easy_install 的命令,该命令将安装在特定位置,具体取决于您的操作系统/设置(文档确实提到了位置)。 [你也可以easy_install pip,因为pip实际上是easy_install的继任者]

    那么希望,您需要做的只是easy_install fred(将自动在http://pypi.python.org/pypi/fred 找到),它会为您下载最新版本和所有依赖项。启动您的解释器,import fred 应该“正常工作”。

    【讨论】:

    • 谢谢。我只是按照你的建议做了。我使用easy_install重新安装了fred,安装成功。不幸的是,我收到了完全相同的错误消息。
    • @DavidM 我马上就去这里看看,看看我是否无法获得更多信息。从它
    • 谢谢,非常感谢。至少弄清楚如何使用 easy_install 是值得的,但是让这个有价值的数据源的 API 也能正常工作会很好。
    • @DavidM 好吧...看起来 fred 有一些奇怪的绝对导入,并且 xml2dict 没有配置为正确安装的模块-所以在它们之间...呃-可能值得联系FRED 的作者并将他们指向此线程。然而,取决于你想用 FRED 的东西做什么,它看起来像一个相当简单的使用 lxml / json / requests (对不起,我没有足够的时间进一步挖掘)
    猜你喜欢
    • 2013-06-14
    • 1970-01-01
    • 1970-01-01
    • 2017-02-01
    • 2020-12-16
    • 2020-05-07
    • 2019-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多