Mac上VS Code中的Python,多个Python版本,模块未找到'matplotlib
我几周前刚开始学习编程,但在使用VS Code时遇到了一些问题。我这几周一直在用Spyder作为我的编程环境,但我想适应VS Code,因为我希望以后能学几种其他的编程语言。
当我尝试调用matplotlib时,出现了“找不到模块”的错误。我通过终端安装了matplotlib,安装过程也顺利完成。但是,当我在VS Code中运行代码时,仍然出现这个错误。我尝试使用交互窗口,但它也报错了。你可以看看这个例子。
交互窗口中的错误
从终端运行文件时,一切正常,出来的图表也是我期待的。怎么回事呢?
通过终端运行文件的结果
我在尝试使用matplotlib模块,但它只在运行文件时有效,而在交互窗口中不行。
为了提供更多背景信息,有人告诉我,这可能是因为我安装了多个版本的Python。这里有一张显示这些版本的图片。有没有什么建议可以帮我清理一下?
选择一个Python版本?
另一个更新。看起来当我尝试安装matplotlib时,它说已经安装了,并且终端显示我的Anaconda安装正在被检查。所以我可以切换到Anaconda内核来运行交互窗口,这样就没问题了。有没有建议可以让我在我其他的Python版本(3.12)上安装matplotlib?还有,如何清理并删除多余的Python版本呢?
1 个回答
有不同版本的Python是没问题的,但你得知道在某些情况下用的是哪个版本的Python。
在你的情况中,你有几个不同的版本,一个是通过Anaconda安装的(Python 3.11.5
),还有两个是全局安装的(Python 3.12.2
和Python 3.9.6
),目前活跃的版本是3.12.2。这可能意味着当你遇到错误时,活跃的版本没有安装matplotlib这个库。VSCode可以帮助你查看文件使用的是哪个版本,但在终端中你也可以用which python
命令来查看当前使用的是哪个Python。
另外,使用python -m venv ...
或者像Poetry(我比较喜欢这个)创建的虚拟环境,你也需要确保使用的是虚拟环境,而不是全局环境,并且这个虚拟环境里安装了你需要的库。你可以先激活虚拟环境,然后用pip install ...
来安装你需要的库,或者用poetry add ...
来安装,比如说使用Poetry的时候。
为了管理不同版本的Python,Poetry可以按项目来处理,或者你也可以试试像PyEnv这样的工具来帮助你。
如果你想调用特定版本的Python,可以使用Python安装的完整路径,而不是直接说python
。
例如,要使用3.12版本,可以用
/usr/local/bin/python3 -m pip install matplotlib
或者要使用3.9.6版本,可以用
/usr/bin/python3 -m pip install matplotlib