【问题标题】:importing beautiful soup in python3在python3中导入漂亮的汤
【发布时间】:2015-02-22 05:44:18
【问题描述】:

我正在尝试在 python3 中导入 beautifulsoup。我有这一行:

from bs4 import BeautifulSoup

上面写着:

from bs4 import BeautifulSoup
File "/usr/local/lib/python2.7/dist-packages/bs4/__init__.py", line 175
except Exception, e:
                ^
SyntaxError: invalid syntax

我看到它仍在尝试使用 python2.7 包。我已经使用 pip3 为 python3 安装了 beautifulsoup,并在检查时发现该包在 /usr/lib/python3/dist-packages/ 中。
同样在检查 sys.path 时,我发现该路径存在。我仍然不明白它为什么要尝试使用旧包,

【问题讨论】:

  • 大概在sys.path 中,旧的 2.7 路径在新的 py4 之前就存在——真是个问题!在您的操作系统环境中可能是一个糟糕的PYTHONPATH?请向我们展示您的 sys.path 和该环境变量以帮助我们帮助您。 pip3 install beautifulsoup4 为我解决了所有问题,但是,我没有这种“路径交叉污染”,谢谢...!-)
  • 是的。正如您所指出的那样,旧的 2.7 路径就在那里。

标签: python python-3.x python-3.4 sys.path


【解决方案1】:

如果python3 可执行文件在sys.path 中有python2.7,则表示Python 3 安装已损坏。

这是我机器上的sys.path

['',
 '/usr/lib/python3.4',
 '/usr/lib/python3.4/plat-x86_64-linux-gnu',
 '/usr/lib/python3.4/lib-dynload',
 '/home/me/.local/lib/python3.4/site-packages',
 '/usr/local/lib/python3.4/dist-packages',
 '/usr/lib/python3/dist-packages']

注意:没有python2.7 目录。

确保未设置PYTHONPATH,并且在提到python2.7目录的Python 3.4目录的默认列表(依赖于安装,上文)中没有杂散的.pth文件,以及PYTHONSTARTUP file或@987654332 @、usercustomize 模块不会损坏 sys.path

【讨论】:

    【解决方案2】:

    也许使用 virtualenv 可以暂时解决你的问题。 或者试试pip uninstall beautifulsoup4 这样你就只剩下安装 pip3 的版本了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-19
      • 1970-01-01
      • 2016-08-13
      • 1970-01-01
      • 2020-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多