【问题标题】:ImportError: No module named requests: But it is installed alreadyImportError:没有名为请求的模块:但它已经安装
【发布时间】:2020-05-07 15:16:56
【问题描述】:

我正在尝试学习使用 Python 进行网络抓取并使用安装的请求

pip3 install requests

并使用相同的命令再次检查。我得到以下输出:

Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages

但是当我尝试执行以下代码时:

from bs4 import BeautifulSoup
import requests

with open('/home/aca/Documents/Python files/test.html') as html_file:
    soup = BeautifulSoup(html_file, 'lxml')
print(soup.prettify())

在 Atom v 1.26.1 中,我收到以下错误消息:

Traceback (most recent call last):
  File "/home/aca/Documents/Python files/experiment.py", line 2, in <module>
    import requests
ImportError: No module named requests
[Finished in 0.167s]

我通过使用 Python shell 导入请求确认在 IDLE 中安装了请求,并且任务在没有 ImportError 的情况下完成。

我被困在这一点上。这是旧版本 Atom 的问题吗?如果是,请为 lubuntu 18.04 推荐一个轻量级的 ide。

【问题讨论】:

  • ATOM 不是 IDE,据该网站称,它是“可破解的文本编辑器”。有很大的不同;有一些类似的功能说明了 Atom 的强大。此外,询问有关程序、库、包的建议对于 SO 来说是题外话,并且会让你的问题结束。请查看“How to Ask”、“Stack Overflow question checklist”及其所有链接页面。

标签: python python-3.x python-requests atom-editor


【解决方案1】:

尝试检查您的 Python 版本。您很可能在一个解释器中安装了 Requests,而 Atom 使用另一个解释器。

直接在命令行中运行您的脚本。

【讨论】:

    【解决方案2】:

    您是否安装了多个版本的 Python?

    试试这个:

    python3.6 -m pip install requests
    

    您还可以在运行此experiment.py 脚本时验证 Atom 是否选择了正确的解释器。

    【讨论】:

      【解决方案3】:

      如果正常的 pip3 命令不起作用,请尝试

      sudo python3 -m pip install requests
      

      【讨论】:

        【解决方案4】:

        我做到了

        python -m pip install requests

        这会将requests 模块添加到您的python 版本的安装位置。

        然后使用这个命令在你的views.py中导入请求模块

        import requests

        【讨论】:

        • 感谢艾哈迈德的编辑