为什么Python 3找不到已安装的软件包(例如BeautifulSoup4)?

时间:2018-01-12 13:28:51

标签: python linux python-3.x pip

在Python 3.5中使用Ubuntu 16.04我得到一些软件包的导入错误,例如' BeautifulSoup4'或者'要求'。这两个库都是从Ubuntu存储库安装的:

$ dpkg --get-selections | grep -E "python3-req|python3-bs"
python3-bs4                         install
python3-requests                    install

然而我得到了#34; ImportError:没有名为' bs4' /'请求'"的模块。

$ python3 -c "import bs4"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named 'bs4'

只有当我(另外!)通过pip3安装这些库时,它才有效。 BeautifulSoup的文档说将其安装为&#34; python3-bs4&#34;通过apt。为什么它只适用于pip3方法? python3-bs4 / python3-requests包的目的是什么?

1 个答案:

答案 0 :(得分:0)

我能够解决这个问题。

我仍然不太确定究竟是什么问题,但我怀疑pip3并且相互混淆了实际安装的内容。 pip3还列出了几个通过apt安装的python包。

我通过pip3 list识别的apt删除/清除了所有内容,并清除了pip3。然后我apt install --reinstall之前给我带来麻烦的软件包:python3-bs4和python3-requests。 requests库仍然无法正常工作,因为它错过了已报告为已安装的软件包python3-sixpython3-chardetpython3-urllib3apt install --reinstall也解决了这个问题。然后它奏效了!