Jupyter Notebook无法加载matplotlib但Python命令行正常的配置求助
这种情况我见得太多了——核心问题就是Jupyter Notebook 使用的 Python 环境和你命令行里的不是同一个!你在命令行装的matplotlib只存在于那个环境里,Jupyter找不到太正常了。给你几个靠谱的解决办法:
解决步骤
第一步:确认环境差异
先搞清楚两个环境到底是不是同一个:
- 在命令行里输入:
复制输出的路径。# Mac/Linux系统 which python # Windows系统 where python - 在Jupyter Notebook里新建一个单元格,输入:
运行后对比两个路径,如果不一样,就坐实了环境不匹配的问题。import sys print(sys.executable)
方法一:把命令行的Python环境添加为Jupyter内核(推荐)
这是最彻底的办法,以后用这个内核就能直接用命令行环境里的所有包:
- 回到命令行,先确保你的环境里装了
ipykernel:pip install ipykernel - 把这个环境注册到Jupyter:
这里的python -m ipykernel install --user --name=my-custom-env --display-name="Python (我的专属环境)"my-custom-env是内核的内部名称,Python (我的专属环境)是你在Jupyter里能看到的显示名,可以随便改。 - 重启Jupyter Notebook,在右上角的内核选择器里,就能看到你刚才添加的内核了,切换过去再导入matplotlib就没问题了。
方法二:直接在Jupyter里安装matplotlib
如果只是临时解决,不想折腾内核,可以直接在Jupyter的单元格里运行安装命令:
!pip install matplotlib
注意这里的!是告诉Jupyter执行shell命令,这个命令会把matplotlib装到Jupyter当前使用的Python环境里。如果你的环境用conda管理,就换成:
!conda install matplotlib -y
方法三:从正确的环境启动Jupyter
如果你是用conda或者virtualenv管理环境的,先激活目标环境再启动Jupyter:
# conda环境激活方式 conda activate your-env-name # virtualenv环境激活方式(Mac/Linux) source your-env/bin/activate # virtualenv环境激活方式(Windows) your-env\Scripts\activate # 然后启动Jupyter jupyter notebook
这样启动的Jupyter就会直接使用你激活的环境,自然能找到已经装在这个环境里的matplotlib。
内容的提问来源于stack exchange,提问作者Unnikrishnan
相关产品推荐
相关产品推荐

