【问题标题】:How to solve 'module' object has no attribute '_base' issue?如何解决“模块”对象没有属性“_base”问题?
【发布时间】:2017-08-18 19:29:34
【问题描述】:

我正在尝试运行位于此处的investopedia api:https://github.com/kirkthaker/investopedia-trading-api

我写了以下脚本:

from investopedia import *
client = Account("emailaddress","password")

status = client.get_portfolio_status()
print status.account_val
print status.buying_power
print status.cash
print status.annual_return

我能够通过为每个依赖项运行 py -2.7 setup.py install 来安装所有模块。

我收到以下错误:

Traceback (most recent call last):
File "C:/Users/Z/PycharmProjects/investopedia/test.py", line 1, in <module>
    from investopedia import *
  File "C:\Users\Z\PycharmProjects\investopedia\investopedia.py", line 4, in <module>
    from bs4 import BeautifulSoup
  File "C:\Users\Z\AppData\Local\Enthought\Canopy\User\lib\site-packages\bs4\__init__.py", line 29, in <module>
    from .builder import builder_registry
  File "C:\Users\Z\AppData\Local\Enthought\Canopy\User\lib\site-packages\bs4\builder\__init__.py", line 297, in <module>
    from . import _html5lib
  File "C:\Users\Z\AppData\Local\Enthought\Canopy\User\lib\site-packages\bs4\builder\_html5lib.py", line 57, in <module>
    class TreeBuilderForHtml5lib(html5lib.treebuilders._base.TreeBuilder):
AttributeError: 'module' object has no attribute '_base'

你知道如何解决这个问题吗?

【问题讨论】:

  • 你在investopedia api之前安装了BeautifulSoup依赖吗?
  • 是的,我使用了“py-2.7 setup.py install”来安装 BeautifulSoup4,但我在下面发布了我的解决方案。

标签: python


【解决方案1】:

使用 conda 解决了这个问题

conda install beautifulsoup4
conda install html5lib

【讨论】:

    【解决方案2】:

    通过使用解决了这个问题

    pip2.7 install --upgrade beautifulsoup4
    pip2.7 install --upgrade html5lib
    

    现在效果很好。

    【讨论】:

    • 为了更好地帮助遇到类似问题的其他人,我建议您edit 回答并说明为什么需要执行这些操作。
    • 老实说,我不知道为什么这是必要的。我只是在尝试这篇文章:*.com/questions/38447738/…
    • pip install -help -> --upgrade 选项:“将所有指定的包升级到最新的可用版本。依赖项的处理取决于使用的升级策略。”所以听起来问题是即使安装了旧版本,您也没有这两个软件包的最新版本。