模块未找到 Python

Posted

技术标签:

【中文标题】模块未找到 Python【英文标题】:ModuleNotFound Python 【发布时间】:2021-08-19 02:49:07 【问题描述】:

在我的 Mac 终端中,我无法使用 Python 包,因为我收到 ModuleNotFound 错误。在 VS 代码中情况并非如此,因为我尝试了各种各样的东西,包括基于教程的 venv,它似乎工作。

当我运行 pip install requests 时,我得到以下信息:

已满足要求:/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages 中的请求 (2.25.1) 已满足要求:/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages 中的 chardet=3.0.2 (来自请求)(4.0.0) 已满足要求:/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages 中的 urllib3=1.21.1 (来自请求)(1.26.5) 已满足要求:/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages 中的 idna=2.5 (来自请求)(2.10) 要求已满足:certifi>=2017.4.17 在 /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (来自请求)(2020.12.5)

当我运行 python --version 时,我得到 Python 3.9.5

我现在花了几个小时试图让这个“环境”正常运行,但收效甚微。

【问题讨论】:

嗨,@Nuxurious Mind 分享你在终端窗口中究竟写了什么? 嗨@bot-coder101,我所做的是我进入终端,输入Python,然后似乎使终端切换到python,然后我只需输入“导入请求”或“导入”回形针”——我都通过 Pip 安装并且可以在 VS 代码中运行——然后出现错误。当我通过更改目录运行文件并在其中运行带有第 3 方模块的 python randomfile.py 时,我也会收到错误消息。当我直接在 VS 代码中运行时不会。 您是否尝试过通过终端在 nano/vim 等文本编辑器中编写脚本,然后运行 ​​python3 file.py 等脚本?它工作正常还是给出同样的错误? 嗨@9769953,我从那个命令得到的输出:['', '/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/ lib/python39.zip', '/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9', '/usr/local/Cellar/python@ 3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/lib-dynload','/Users/Bas/Library/Python/3.9/lib/python/site-packages','/ usr/local/lib/python3.9/site-packages'] @bot-coder101 我不熟悉那些文本编辑器,刚开始编码,但要补充的是,在 IDLE 中,模块也可以零问题工作。 【参考方案1】:

问题是您安装了多个 Python 版本。一个可能来自官方 Python 网站,一个来自 Homebrew(我猜了一下)。这些有点干扰。

事情是这样的:“官方”没有安装标准的python 别名。它只安装了更明确的python3 命令。奇怪(且令人困惑),它确实安装了pip,可能与pip3 并排安装。

当你输入python 时,shell 会找到 Homebrew 安装的那个;另一个不存在。当您明确键入python3 时,您将得到正确的。看起来您的 PATH 环境变量设置为首先进行“官方”安装,然后是 Homebrew。

因此,最好和最简单的方法是直接使用 python3

如果您愿意并且认为您不需要它,您可以尝试在/usr/local/ 中卸载 Homebrew。

您也可以在/Library/Frameworks/Python.framework/Versions/3.9/bin 内部进行修改,并为python 创建一个别名,但我不建议这样做,除非您对shell、Python 安装和您的系统更加熟悉。毕竟,目前只需要再输入一个字符。

【讨论】:

python --versionpython3 --version 的结果是否相同? pip --versionpython -m pip --versionpython3 -m pip --version 怎么样?

以上是关于模块未找到 Python的主要内容,如果未能解决你的问题,请参考以下文章

运行 AWS sam 本地调用时 Python 未找到模块

Python - 未找到 Numpy 模块

python vscode模块未找到错误

Python 构建完成,但未找到构建这些模块的必要位

直接或从 Makefile 执行 Python 程序时未找到模块,但在使用“python”运行时工作正常

未找到 windows 10 python 串行模块,但 pip install pyserial 已通过