Python小白成功安装了pygal和matplotlib,但无法导入怎么办?

如题所示,我是 python 小白用户,在 MacBook 通过 pip3 命令成功安装了 pygal 和 matplotlib 库,但是导入报错,不知如何解决,恳求大神援助。

信息如下:

Last login: Fri May 17 14:00:51 on ttys000 chaixiaomudeMacBook-Pro% pip3 install pygal Requirement already satisfied: pygal in /usr/local/lib/python3.7/site-packages (2.4.0) chaixiaomudeMacBook-Pro% python3 Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 20:42:06) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information.

import pygal Traceback (most recent call last): File "<stdin>", line 1, in <module> ModuleNotFoundError: No module named 'pygal'</module></stdin>


Python小白成功安装了pygal和matplotlib,但无法导入怎么办?

26 回复

No model named xxx 不就是没安装成功吗


先确认一下你用的Python环境是不是你装包的那个。在命令行里分别跑这两个命令看看:

import sys
print(sys.executable)  # 这会显示当前Python解释器的路径
pip show pygal  # 这会显示pygal的安装位置

如果两个路径不一致,说明你装包的环境和运行代码的环境不是同一个。常见的情况有:

  1. 系统装了多个Python版本(比如Python 2和Python 3)
  2. 用了虚拟环境但没激活
  3. IDE配置了不同的Python解释器

解决办法:

  • 如果用了虚拟环境,先激活它
  • 在IDE里设置正确的Python解释器路径
  • 安装时用 python -m pip install pygal 指定版本

如果路径一致但还是报错,试试重装:

pip uninstall pygal matplotlib
pip install pygal matplotlib

检查一下你的Python版本,pygal 2.x需要Python 3.6+,太老的版本可能不兼容。

总结:环境不一致是最常见的原因。

请谷歌“ no module named pygal ”


安装的不对

可能是你的 pip 指向的不是你正在用的 python,可以用 pip3 — version 和 which python3 来确认一下

应该是用不同方法装了好几个版本的 python。brew 或者官网安装包或者 anaconda 之类的吧。用 which python,which pip 查一查

还是用 venv 吧,方便一点

或者 conda

先安装虚拟环境


MacBook-Pro% pip3 -V
pip 19.0.2 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
MacBook-Pro% which python3
/Library/Frameworks/Python.framework/Versions/3.7/bin/python3

目前看应该不是在一个目录

我先是
pip3 install pygal

然后在导入的,我看其他地方也是这个顺序

好的,谢谢提醒。

初学 Python,请使用现成的 IDE

嗯嗯,谢谢哈

我试试这个,

我是看教程?《 python 编程从入门到实践》,Django 项目,好像是在虚拟环境里用这个的,我现在也有虚拟环境,我尝试一下,谢谢

好的,我找一下比较好的,现在还都在用 IDLE

不使用虚拟环境,以后项目多了会非常蛋疼

你可以试试 pycharm

我写了一篇文章解答这类问题
https://frostming.com/2019/03-13/where-do-your-packages-go


用虚拟环境是 best practice 怎么导你这蛋疼了?
不想管虚拟环境,方法有的是

virtualenvwrapper, pipenv, pyenv, conda

少看一个字,然后不能删回复。。

。。。。。我刚想说我用的是 virtualenvwrapper

#15 idle 是真的垃圾,用终端都比这个强

先 python shell 中 import 试试

可能你的电脑有两个不同版本的 python。
pip3 成功了,但是用的是 python2

import sys
print(sys.version_info)

看下你输出的 python 版本,就知道了。
而且,你可以进入 site-packages 目录下看看你的包在不在

python3 -m pip install 用这个方法解决了

回到顶部