MindSpore体验--在Windows10中源码安装(反面教材)

一直以来安装包都是直接pip intall,发现安装MindSpore的操作流程中教学了源码编译安装,借此学习一下使用源码安装。

环境创建

为了方便管理环境,此处我新创建了一个新的虚拟环境来安装(此处踩坑,忘记设Python版本了,正确命令为conda create -n ms python=3.9):

 conda create -n ms

 conda activate ms

依赖项检测与配置:

  • 系统:x86架构64位操作系统,Windows10

  • MinGW-W64 GCC-7.3.0:之前安装的是8.1.0,不知道能不能行,先试试看

  • Visual C++ Redistributable for Visual Studio 2015:之前装的VS20192019版本,头秃,此处试试安装Visual C++ Redistributable for Visual Studio 2019行不行,下载链接(x64系统)https://aka.ms/vs/16/release/VC_redist.x64.exe:

  • CMake 3.18.3:之前没安装CMake,此处安装CMake(MindSpore安装教程上给的是3.18.3版本,我选择安装最新的版本,反正前面有那么多版本不同了,不差这一个):

    • 直接在CMake网站上下载相应的安装包:Download | CMake ,我下载的是cmake-3.23.1.zip ,安装包下载好后直接在想安装的位置解压就OK,然后把cmake.exe的路径添加到系统环境变量Path中,结果踩雷了,没找到cmake.exe。

    • 卸了,换用installer安装:https://github.com/Kitware/CMake/releases/download/v3.23.1/cmake-3.23.1-windows-x86_64.msi :

    • 下载后打开:

      一路next,中途改下安装位置,别装宝贵的C盘。

      • 重开一个cmd验证安装:

         cmake -version

    • ActivePerl 5.28.1.2801:这个之前也没装,此处安装一下。

      • 在官网下载相应版本的包,直接点MindSpore给出的链接,跳进下载页,但点击下载后发现要注册,有点想退缩了,很烦:

      • 注册后选择需要的版本,点击安装结果要先下载State Tool,拷贝给的命令下载,结果发现下了一堆包,要流泪了。

      • 验证安装,含泪恭喜,装这么多东西日后卸载有得头秃了:

    • Python:突然发现第一步创建环境的Python自动装的3.8.3,而MindSpore只支持Python3.7和3.9,虚拟环境删了重建:

       conda activate base # 切换环境到base
       conda remove --name ms --all # 删除环境ms
       conda info --envs # 检测有没有成功删除
       conda create -n ms python=3.9 # 创建环境ms并指定Python版本为3.9
       conda activate ms # 切换到ms
       python --version

      终于Python=3.9了。

    • wheel 0.32.0及以上版本:记得创建环境时会自动装wheel,果然:

    • 以上我们就完成了依赖项的配置,呼进入正题。

      从代码仓下载源码

      官网给的代码是下载1.6版本:

       git clone https://gitee.com/mindspore/mindspore.git -b r1.6

      然而我看gitee上的已经有1.7版本了

      想了下还是不冒险了,老老实实装1.6版本,放软件的文件夹执行上面命令:

    • 然后进入源码根目录,接下来就看见官方教程写call build.bat

      然而电脑不认识这个命令:

      然而看教程里这个命令是可以跑的,查了下是命令是用来运行脚本的,我直接运行试试:

      它说找到的Python是3.8.3,路径是base环境,可我明明在ms环境下,发生什么事了?想了想猜测估计是找我系统环境变量里的Python了,我把ms环境加到系统环境变量里,并且优先级高于base:

    • 开开心心地重新运行build.bat,然而Python还是找到了base环境的3.8,重启电脑再来试试:

      还是找到了base的Python,想了想换个cmd试试,打开git bash,输入以下命令来执行build:

       source activate # 激活conda命令
       conda activate ms # 切换到ms环境
       ./build.bat # 运行build.bat

      发现还是Python3.8,但是它一路往下跑,最后在下载GitHub上一个东西时失败暂停:

    • 解决一下GitHub的问题,重新运行build.bat文件,发现每次都会遇到不同的包从GitHub上下载出错。

      换个思路,解决下Python版本对不上的问题。两个方法:

    • 更改安装时搜索Python解释器的路径,试图修改环境变量顺序,但不起作用,应该是某个配置文件的问题,要是在Linux下,估计修改下.bashrc就可以,但现在在Windows下,我,我一顿能吃三碗饭。

    • 更新base环境下的Python版本,尝试用下面命令:

       conda update conda
       conda update anaconda
       conda install python=3.9

      但在最后安装Python3.9时总是挂在Solving environment步骤,放弃。

  • 为此我把文章中给的论坛中,问题求助-安装模块中的帖子刷完了近两年的,结果没有得到解决方案。总共花费了一个下午加一个晚上,差不多8小时,兜兜转转,只能说,pip真香。

    最后最后

    最后还是放弃源码安装MindSpore,转为pip安装,嗯,pip应用广泛果然有事实基础。

     pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.6.1/MindSpore/cpu/x86_64/mindspore-1.6.1-cp39-cp39-win_amd64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple
     python -c "import mindspore;mindspore.run_check()"

    虽然没有成功源码编译安装,但它至少能跑了。

    后话

    看到官方推荐的经验贴中也有遇到相同的路径指向问题:

  • 为此我把文章中给的论坛中,问题求助-安装模块中的帖子刷完了近两年的,结果没有得到解决方案。总共花费了一个下午加一个晚上,差不多8小时,兜兜转转,只能说,pip真香。

     

更多推荐