Geany运行Python代码报错“No module named 'matplotlib'”,但pip list显示已安装,这是为什么?(这是.报错.运行.代码.安装...)
在Geany中运行Python代码时,出现“No module named 'matplotlib'”错误,但pip list显示matplotlib已安装(例如:matplotlib 3.7.1),这是因为Python环境的隔离性导致的。pip list显示的安装路径可能并非Geany当前使用的Python环境。 你的代码 import matplotlib.pyplot as plt 试图从当前运行环境导入matplotlib,而该环境中未找到该库。
根本原因在于,全局Python环境(或其他环境)安装了matplotlib,但Geany运行代码的环境并未访问到它。
解决方法:使用虚拟环境 (venv)
虚拟环境 (venv) 创建独立的Python环境,避免项目间库冲突。 venv创建的环境拥有独立的site-packages目录,其安装的包不会影响全局环境,反之亦然。
-
创建虚拟环境: 在你的项目目录下,打开终端或命令提示符,执行以下命令:
python3 -m venv .venv # 创建名为.venv的虚拟环境
(如果使用Python 2,则使用 python -m virtualenv .venv)
-
激活虚拟环境: 激活方法取决于你的操作系统:
- Windows: .venvScriptsctivate
- macOS/Linux: . .venv/bin/activate
-
安装matplotlib: 激活虚拟环境后,在终端中执行:
pip install matplotlib
-
运行代码: 确保虚拟环境处于激活状态,然后在Geany中运行你的Python代码。 现在,代码应该能够正确导入matplotlib库了。
只有在激活的虚拟环境下运行代码,才能使用在该环境中安装的matplotlib。 关闭终端或命令提示符后,虚拟环境会自动停用。 再次运行代码前,需要重新激活虚拟环境。
以上就是Geany运行Python代码报错“No module named 'matplotlib'”,但pip list显示已安装,这是为什么?的详细内容,更多请关注知识资源分享宝库其它相关文章!