赞
踩
前几天做一个简单的演示,用` pip install matplotlib ` 安装 Matplotlib 后,使用 ` import matplotlib `时,提示 ._path 错误。经过不懈努力,最终解决,与各位分享。
正在搭建一个 Visual Studio Code + Python 的环境准备做一些演示工作。环境如下:
以上过程一切正常。编写 print("Hello World") 并运行正常。
安装 matplotlib 显示一切正常。但是,一段简单的使用 matplotlib 的代码,却报如下错误:
“
ImportError: DLL load failed while importing _path: The specified module could not be found.
”
界面如下:
错误提示中所述 transforms.py 第49行内容如下:
猜测了多种可能,虚拟机安装了很多遍,发现如下不是导致问题的可能原因,帮助大家避坑:
以上用到的一些命令、参数等,将放到文末其他资源部分,供大家参考。
为了排除干扰,假设了一个可能的最小环境:
新安装的 Windows,新下载安装 Python,用 pip install matplotlib 安装 Matplotlib,在命令行中测试,结果如下:
经过上述各种测试,以及查阅各种资料,最终觉得,原因是:
Python 版本与 Matplotlib 版本不一致所致。
不要觉得安装了最新的Python,最新的 Matplotlib 及其自动装的 Numpy 就没有问题。
由此也知道了 Anaconda 的价值。当然本文犟在就不用 Anaconda ,想找找根本原因。
也就是说,您的Windows 版本 32bit/64bit、Python 版本、Numpy 版本、Matplotlib 版本,一定要一致。
1. 上 Python.org 官网,下载特定的版本。我干脆下了 Python 3.11.1,3.11.0,3.10.0 的32位和64位备用。如图:
2. 上加州大学网站,下载特定版本的 Numpy 和 Matplotlib 的whl 文件。注意版本。如图:
图中只显示了 Matplotlib,请滚去 Numpy 做同样动作。
3. 在命令行中,安装相应的东东。如下:
1) 双击 “ python-3.10.0-amd64.exe ”,安装 Python 3.10.0 的 64位版本。当然你可以安装别的版本,但一定要和下面步骤的版本一致。
2) 使用 “ pip install E:\MatplotlibPacks\numpy-1.22.4+mkl-cp310-cp310-win_amd64.whl ”, 本地安装下载好的相应版本的 Numpy。
注意 cp310 对应前面的Python3.10.0,amd64对应Python的64位。问题就在这里。
3) 使用 “ pip install E:\MatplotlibPacks\matplotlib-3.5.2-cp310-cp310-win_amd64.whl ”, 本地安装下载好的相应版本的 Matplotlib。注意版本。
界面如下:
4. 测试结果。命令行中,进入 Python,键入 import matplotlib,不再报错。如图:
5. 玩一把 Matplotlib,键入如下代码,微笑起来:
- import numpy as np
- import matplotlib.pyplot as plt
-
- x = np.arange(-10,10,0.1)
- y1 = x ** 2
- y2 = (x/2)**2 + 75
- plt.plot(x,y1)
- plt.plot(x,y2)
- plt.show()
结果如下:
当出现 matplotlib._path 错误,或 matplotlib 的其他库/路径错误时,请记得检查并确保 Python、Numpy、Matplotlib 的版本必须一致。
本文用到/起作用或没起作用 的资源整理如下,供大家参考:
一些网站:
中国科学技术大学 : https://mirrors.bfsu.edu.cn/pypi/web/simple/
一些命令:
一些书:
学习 Python、Jupyter、Matplotlib 等知识,请参考笔者撰写 人民邮电出版社出版的《Jupyter入门与实战》。
学习 Visual Studio Code,请关注笔者后续资料。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。