Azure虚拟机离线安装matplotlib遇问题,求可行解决方案
解决离线环境下Python3.6安装matplotlib 2.1.0的问题
嗨,我完全懂你现在的烦恼——离线环境装matplotlib踩了编译的坑,还因为VS版本不匹配卡壳了。别慌,最省心的解决办法是跳过编译,直接用预编译的wheel包,这也是离线安装Python包的最优解之一,具体步骤如下:
1. 先确认你的环境细节
在conda提示符里执行这条命令,确定你的Python是32位还是64位:
python -c "import sys; print('64位' if sys.maxsize > 2**32 else '32位')"
记好这个结果,后面下载包要严格匹配。
2. 下载对应版本的预编译wheel包
你需要下载matplotlib 2.1.0以及它所有依赖的wheel文件,必须满足两个匹配条件:
- Python版本标识:cp36(对应Python3.6)
- 系统架构:win_amd64(64位系统)或win32(32位系统)
matplotlib 2.1.0的核心依赖包括:
- numpy(推荐1.13.x~1.16.x版本,和matplotlib2.1.0兼容性最好)
- kiwisolver
- cycler
- pyparsing
- python-dateutil
举个64位Python3.6的例子,你要找的文件名大概是:
matplotlib-2.1.0-cp36-cp36m-win_amd64.whlnumpy-1.16.6-cp36-cp36m-win_amd64.whlkiwisolver-1.0.1-cp36-none-win_amd64.whlcycler-0.10.0-py2.py3-none-any.whlpyparsing-2.4.7-py2.py3-none-any.whlpython_dateutil-2.8.2-py2.py3-none-any.whl
3. 离线安装所有包
把所有下载好的wheel文件放到同一个文件夹,然后在conda提示符里切换到这个文件夹,按顺序执行安装命令:
# 先装numpy(matplotlib依赖它启动) pip install numpy-1.16.6-cp36-cp36m-win_amd64.whl # 依次安装其他依赖 pip install kiwisolver-1.0.1-cp36-none-win_amd64.whl pip install cycler-0.10.0-py2.py3-none-any.whl pip install pyparsing-2.4.7-py2.py3-none-any.whl pip install python_dateutil-2.8.2-py2.py3-none-any.whl # 最后安装matplotlib pip install matplotlib-2.1.0-cp36-cp36m-win_amd64.whl
为什么之前编译会失败?
matplotlib 2.1.0是比较旧的版本,它的编译脚本是针对Visual Studio 2010开发适配的,哪怕你装了VS2014(应该是VS2015预览版?),新旧VS的编译工具链不兼容,导致wheel构建直接失败。用预编译wheel就能完美绕开这个环境适配的麻烦。
如果安装时遇到依赖版本不兼容的提示,只需要调整对应依赖的wheel版本,确保和matplotlib2.1.0的要求匹配即可。
内容的提问来源于stack exchange,提问作者Paritosh
相关产品推荐
相关产品推荐

