大家好,我是刘明,明志科技创始人,华为昇思MindSpore布道师。
技术上主攻前端开发、鸿蒙开发和AI算法研究。
努力为大家带来持续的技术分享,如果你也喜欢我的文章,就点个关注吧
PIP安装
Q: 安装MindSpore版本: GPU、CUDA 10.1、0.5.0-beta,出现问题: cannot open shared object file:No such file or directory
。
A: 从报错情况来看,是cuBLAS库没有找到。一般的情况下是cuBLAS库没有安装,或者是因为没有加入到环境变量中去。通常cuBLAS是随着CUDA以及驱动一起安装的,确认安装后把cuBLAS所在的目录加入LD_LIBRARY_PATH环境变量中即可。
Q: 使用pip安装时报错: ERROR: mindspore_{VERSION}.whl is not a supported wheel on this platform
应该怎么办?
A: pip会通过wheel安装包的文件名来判断该安装包是否与当前Python环境兼容,例如安装mindspore_ascend-1.2.0-cp37-cp37m-linux_aarch64.whl
时,pip会检查:
-
当前python环境为3.7.x版本
-
当前操作系统为Linux
-
操作系统架构为arm64
因此,如果出现 is not a supported wheel on this platform
问题,请检查当前环境是否满足MindSpore安装要求,以及该MindSpore安装包版本是否正确。
Q: macOS系统源码编译后使用pip安装报错: ERROR: mindspore-{VERSION}.whl is not a supported wheel on this platform
应该怎么办?
A: 首先检查output目录下编译得到的安装包名,类似mindspore-1.6.0-cp37-cp37m-macosx_11_1_x84_64.whl。包名中“11_1”的意思是编译时使用的SDK版本是11.1。如果使用的SDK版本为11.x,则可能是因为编译时使用的SDK版本过高导致无法安装。
解决方法一:可以重命名安装包后再尝试安装,例如将上述安装包重命名为mindspore-1.6.0-cp37-cp37m-macosx_10_15_x84_64.whl。
解决方法二:在源码编译前,设置环境变量MACOSX_DEPOLYMENT_TARGET为10.15并重新编译。
Q: 使用pip安装时报错: SSL:CERTIFICATE_VERIFY_FATLED
应该怎么办?
A: 在pip安装命令后添加参数 --trusted-host=ms-release.obs.cn-north-4.myhuaweicloud.com
重试即可。
Q: MindSpore对Protobuf版本是否有特别要求?
A: MindSpore默认安装Protobuf的3.13.0版本,如果不是该版本,在使用pytest测试代码时日志中会产生很多告警,建议您使用命令pip install protobuf==3.13.0重新安装3.13.0版本。
Q: 使用pip安装时报错ProxyError(Cannot connect to proxy)
,应该怎么办?
A: 此问题一般是代理配置问题,Ubuntu环境下可通过export http_proxy={your_proxy}
设置代理;Windows环境可以在cmd中通过set http_proxy={your_proxy}
进行代理设置。
Q: 使用pip安装时提示错误,应该怎么办?
A: 请执行pip -V查看是否绑定了Python3.7+。如果绑定的版本不对,建议使用python3.7 -m pip install代替pip install命令。
Q: 使用pip安装依赖库时提示No matching distribution found for XX
X错误,应该怎么办?
A: 请执行pip config list,查看当前软件库索引路径index-url。某些情况下,软件库索引会出现更新滞后,可尝试设置其它软件库索引路径。
Q: MindSpore网站安装页面找不到MindSpore Insight和MindSpore Armour的whl包,无法安装怎么办?
A: 您可以从MindSpore网站下载地址下载whl包,通过pip install命令进行安装。
Q: pip同时安装MindSpore CPU和GPU版本,import时报错 cannot import name 'context' from 'mindspore'
,应该怎么办?
A: MindSpore不同版本的安装目录名同为mindspore,安装在同一个Python环境可能产生目录相互覆盖问题,导致无法使用,如果需要使用多平台版本的MindSpore时(例如同时使用CPU和GPU版本),请先卸载其他版本再安装新版本。
Q: 在ARM架构的环境上使用pip安装MindSpore时报错: Could not find a version that satisfies the requirement
应该怎么办?
A: 大概率是因为pip版本低于19.3,无法识别manylinux2014标签,导致pip install阶段下载了错误版本的numpy或scipy等python软件包,进而引发了无法找到构建依赖的问题,请执行pip install --upgrade pip将环境中的pip升级到19.3以上,重新安装MindSpore。
Q: pip安装MindSpore时,报错 Running setup.py install for pillow: finished with status 'error' ... The headers or library files could not be found for jpeg, ...
,应该怎么办?
A: MindSpore依赖三方库pillow进行部分的数据处理操作,而pillow需要依赖环境上已经安装libjpeg库,以Ubuntu环境为例,可以使用sudo apt-get install libjpeg8-dev来安装libjpeg库,然后再安装MindSpore。
Q: ARM版macOS在Python3.8环境中编译的mindspore包安装后执行报错 ImportError: dlopen ... no suitable image found. Did find:..._psutil_osx.cpython-38-darwin.so: mach-o, but wrong architecture
怎么办?
A: ARM版macOS上的Python3.8包含的psutil无法正确识别当前系统的架构,会自编译为适配x86架构的二进制,因此出现冲突问题。如果在Conda环境则执行pip uninstall psutil; conda install psutil,如果在非Conda环境中则执行pip uninstall psutil; pip install --no-binary :all: psutil以正确安装psutil。 具体原因可以参照该stackoverflow帖子。
Q: ARM版macOS在安装MindSpore时,安装依赖库scipy报错 error: metadata-generation-failed
怎么办?
A: 对应ARM版macOS的scipy在pypi源的版本仅适配MacOS 12以上版本的操作系统,低版本操作系统会自动下载scipy源码包进行编译,大概率会遇到编译失败问题。如果使用Conda环境,建议执行pip uninstall scipy; conda install scipy,MacOS 11系统强烈建议使用Conda以规避类似的兼容性问题。