模块未找到 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 --version
和 python3 --version
的结果是否相同? pip --version
、python -m pip --version
和 python3 -m pip --version
怎么样?以上是关于模块未找到 Python的主要内容,如果未能解决你的问题,请参考以下文章