ModuleNotFoundError: No module named '...'

ModuleNotFoundError: No module named '...'

我正在尝试为一个项目安装一些包(beautifulsoup4requests)。

我通过 运行在 macOS 的终端中使用这些命令安装了这些软件包:

pip3 install beautifulsoup4
pip3 install requests

两个都安装成功。

现在,如果我在 PyCharm 中打开我的项目,我可以使用以下方法导入模块:

from bs4 import BeautifulSoup
import requests

两个包都导入成功,可以在我的代码中使用了。 为了确保一切都正确安装,我查看了 venv/lib/Python3.10 文件夹。 beautifulsoup4-4.10.0.dist-infobs4requestsrequests-2.27.1.dist-info 存在。

但是,当我 运行 CGI 脚本 (Python) 时,我在终端中收到以下错误:

    from bs4 import BeautifulSoup
ModuleNotFoundError: No module named 'bs4'

即使我打开一个新终端 window 和 运行 以下命令:

python3
>>> from bs4 import BeautifulSoup

它运行很好,没有任何错误。 requests 包也会出现同样的问题。

我也 运行 pip3 install bs4 但这也没有解决任何问题。

我建议始终使用 python3 -m pip install <name_of_the_package> 安装软件包。通过这种方式,您可以确定您使用的是正确的 pip。

要确保您使用的 python 确实安装了软件包,请尝试 python3 -m pip list

如果一切正常,请检查 pycharm 在您的项目中使用的 python 解释器是否正确。

在我看来,在 pycharm 中您使用的是虚拟环境,但是当您在终端使用 python3 时,您使用的是主安装。

我找到了导致问题的原因。 bs4 和 requests 都已正确安装,但在我的 CGI 脚本中,我使用了错误的 Python 路径。我不得不将 #!/usr/bin/python3 更改为 which python3 给我的路径。