windows11安装wsl2(linux)+VScode+ miniconda+TVM+python环境部署

本文记录了一位用户在Windows11的WSL环境下安装TVM的详细步骤,包括安装WSL、VSCode、miniconda,以及从源码编译安装cmake和LLVM,最后成功安装TVM并测试的过程。在安装过程中遇到了版本兼容性、编译错误等问题,但通过调整和重试最终解决了问题。
摘要由CSDN通过智能技术生成

第一次安装,失败

1. Windows11 D盘安装wls(linux)

参考链接:windows11安装wsl 跳过C盘安装

  1. 开启Windows的wsl与虚拟平台
    在这里插入图片描述

  2. 以管理员身份打开powershell下载ubuntu20.04
    在D盘创建一个文件夹,如Linux;
    Win+X 以管理员身份 打开powershell;
    输入命令行 D: ,直接跳转到D盘;
    再输入命令行 cd Linux,进入子目录;
    输入以下命令行 ,此命令行在cmd 无效,下载需10分钟左右;

Invoke-WebRequest -Uri https://wsldownload.azureedge.net/Ubuntu_2004.2020.424.0_x64.appx -OutFile Ubuntu20.04.appx -UseBasicParsing

备注:
也可以直接从文件路径直接输入powershell打开
在这里插入图片描述
3. 解压并安装
逐行运行以下命令

Rename-Item .\Ubuntu20.04.appx Ubuntu.zip
Expand-Archive .\Ubuntu.zip -Verbose
cd .\Ubuntu\
.\ubuntu2004.exe

几分钟后,输想要的用户名和密码(用户名要小写)
4. 安装后测试
测试

wsl -l -v

关闭

wsl --shutdown

重新打开cmd,输入wsl,可直接跳转ubuntu系统

2. 安装vscode并连接到WSL2

参考链接:安装vscode并连接到WSL2

  1. 下载vscode
    我的vscode提前安装好了,所以此步跳过。
  2. 安装 wsl扩展插件
    在这里插入图片描述
  3. 远程链接
    点击左下角的绿色 ><,选择New WSL Windows,弹出新的vscode窗口
    在这里插入图片描述
  4. 修改权限
    提权,方便直接使用vscode编辑文件,777仅仅意味着将所有权利授予所有用户
sudo chmod 777 /etc/apt/sources.list	
  1. 添加清华镜像
    网上教程很多

3. wsl 安装miniconda

miniconda 相比于anaconda更为精简。安装较为简单,直接参考别的blog。
参考链接:wsl中安装miniconda

4. wls安装TVM

接下来的安装就比较费事了,按照网上的blog,出现了一系列的问题。

参考blog

WSL环境安装TVM:主要流程和依赖库等参考此blog,但是具体实施细节有差异

4.1 安装依赖库

记得关闭全局weipin

注意,下面的依赖库中没有安装 cmake,因为直接安装版本比较低,后面的安装要求CMake > 3.18

sudo apt-get update
sudo apt-get install -y python3 python3-dev python3-setuptools gcc libtinfo-dev zlib1g-dev build-essential libedit-dev libxml2-dev

备注:以下命令安装后,版本过低

sudo apt install cmake

4.2 从源码安装cmkae

备注: cmake版本过低,卸载

sudo apt autoremove cmake

参考1,重点是流程 Linux 安装 CMake
参考2,重点可以学习cmake原理 ubuntu18.04下–CMake教程
预编译二进制下载过慢,所以采用源码安装,源码安装就是编译时太慢。

  1. 下载源码
    官网下载cmake-3.24.3.tar.gz ,如图红色方框,
    在这里插入图片描述
    备注:sh文件安装,没有尝试过

  2. 解压并配置
    cmd进入到下载的目录

tar -zxvf cmake-3.22.3.tar.gz -C <目标路径>

切换到 CMake 源目录并执行 bootstrap 脚本

cd cmake-3.22.3.tar.gz

配置

./bootstrap --parallel=32 #(可选)后续make时可以并行编译 
./bootstrap --prefix=/usr/local/cmake #添加安装位置
  1. 编译
make -j 6 #6核并行编译
  1. 安装
make install 

可以尝试 make install -j 6

ln -s /usr/local/bin/cmake /usr/bin/cmake 
#软连接 ln [original filename] [link name]
  1. 测试
    更改别名之类的,可以不需要
cmake -version

4.3 从源码安装LLVM

按照此blog中,从pre-build版本安装,后面的cmake .. 报错

在这里插入图片描述
寻找原因:
(1) 失败1:修改(USE_LLVM OFF) 的位置应该是cmake/config.cmake,而不是build/config.cmake,不报错了,直接编译通过,但是在make -j4时出错。

(2) 成功:原因(1)是错误的,仔细查看红字上方的报错,发现是没有lib,动态链接库。因此倒退回上一步安装此链接步骤1,下载的pre-build可能缺少我所需要的lib库
在这里插入图片描述
因此,采用源码编译
参考1:Ubuntu 18.04 安装Clang/LLVM 11

  1. 下载源码
    到官网直接下载 LLVM各版本的源码、预编译二进制
    或者在wsl中输入
    wget https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/llvm-11.0.0.src.tar.xz.sig
  2. 解压并进入
tar xvf llvm-11.0.0.src.tar.xz -C <目标目录>
# 进入解压后的目录
cd llvm-11.0.0.src

创建一个新的目录,用于存放 Clang/LLVM 编译的结果

mkdir build
cd build
  1. 编译并安装
    使用 cmake 编译 Clang/LLVM
cmake ..
make -j 6

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
swap空间不足
https://www.linuxidc.com/Linux/2010-09/28915.htm
https://blog.csdn.net/vincentuva/article/details/83111447

还是有问题
在这里插入图片描述

make install -j 6

vim
在这里插入图片描述

在这里插入图片描述

4.4 安装TVM

  1. 获取源码
    加快git 下载速度技巧:
    打开weipin,选择常规,点击Port的那个端口号,点击"CMD",此时已复制代理地址,
    在这里插入图片描述
    打开cmd,输入
set http_proxy=http://我的IP:端口号 & set https_proxy=http://我的IP:端口号

下载TVM

git clone --recursive https://github.com/apache/tvm tvm
  1. 源码编译
    解压到某个特定位置,

切换目录

cd tvm
mkdir build

复制

cp cmake/config.cmake build
  1. 修改 build/config.cmake
    参考 blog
    (1)修改 build/config.cmake 以添加 set(USE_LLVM /path/to/your/llvm/bin/llvm-config),该操作主要是绑定LLVM 后端 ,主要是将llvm-config 文件的绝对路径,添加至 USE_LLVM 属性。

(2)PyTorch 的用户建议设置 set(USE_LLVM “/path/to/llvm-config --link-static”) 和 set(HIDE_PRIVATE_SYMBOLS ON) 以避免 TVM 和 PyTorch 使用的不同版本的 LLVM 之间潜在的符号冲突。

cd build
cmake ..
make -j4
make install 
```## 5. 安装ffmpeg
主要流程参考 [ffmpeg安装 ](https://blog.csdn.net/lucky_mmg/article/details/123874216)
添加路径不可以有空格
```bash
export PATH=$PATH:/mnt/~/ffmpeg/bin     # (定位到FFmpeg文件夹即可,如果不知道FFmpeg文件夹所在位置,可以使用pwd命令查看)

第二次安装 失败

主要参考 服务器(CentOS7)上安装 TVM0.9 + python3.7

1. 查看环境依赖库、下载源码

打开wsl,创建 python=3.8.2

conda create -n tvmBuild python=3.8.2

查看目前版本

cmake /3.24.3
gcc /9.4.0
Ubuntu/20.04
llvm 未安装

2,安装llvm

centos7编译安装llvm
wget 下载过慢,直接用链接在浏览器下载

mkdir llvm-8.0.0
cd llvm-8.0.0
wget http://releases.llvm.org/8.0.0/llvm-8.0.0.src.tar.xz
wget http://releases.llvm.org/8.0.0/cfe-8.0.0.src.tar.xz
wget http://releases.llvm.org/8.0.0/clang-tools-extra-8.0.0.src.tar.xz
wget http://releases.llvm.org/8.0.0/compiler-rt-8.0.0.src.tar.xz

解压

mv cfe-8.0.0.src clang
mv clang/ llvm-8.0.0.src/tools/

mv clang-tools-extra-8.0.0.src extra
mv extra/ llvm-8.0.0.src/tools/clang/

mv compiler-rt-8.0.0.src compiler-rt
mv compiler-rt llvm-8.0.0.src/projects/

配置并编译安装

mkdir build-8.0.0
cd build-8.0.0

cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr/local/clang -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=On ../llvm-8.0.0.src/

make -j 4

出现警告

在这里插入图片描述

最终报错 make: *** [Makefile:152:all] Error 2

https://www.bilibili.com/read/cv13148974/ 出处:bilibili
参考 https://blog.csdn.net/hans774882968/article/details/127043163
降低g++,gcc 版本
参考 https://www.bilibili.com/read/cv13148974/

尝试直接

 sudo apt install llvm

在这里插入图片描述
退回到cmake … 重新编译

在这里插入图片描述

build/config.cmake 352 行
libbacktrace

第三次安装 成功

LLVM下载
使用预编译安装

sudo tar xvf clang+llvm-11.0.0-rc5-x86_64-linux-gnu-ubuntu-20.04.tar.xz
mv clang+llvm-11.0.0-rc5-x86_64-linux-gnu-ubuntu-20.04 llvm-11
export PATH=$PATH:/mnt/d/Linux/Ubuntu/data/packages/llvm-11/bin"

linux 配置环境变量,直接用export是临时设置,重启后无法识别
改用vim

vim ~/.bashrc 
export PATH=/mnt/d/Linux/Ubuntu/data/packages/llvm-11/bin:$PATH
source ~/.bashrc 

添加好环境变量后,which 查看/llvm-config

/mnt/d/Linux/Ubuntu/data/packages/llvm-11/bin/llvm-config

vim 编辑

deb http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main

shell执行

sudo apt update

sudo apt install clang-11

编译TVM
出现以下问题
在这里插入图片描述
7
参考此篇blog

重点!! 不要用cmd git clone,要进入wsl直接linux 下载预编译版本。!!
重点!! 不要用cmd git clone,要进入wsl直接linux 下载预编译版本。!!
重点!! 不要用cmd git clone,要进入wsl直接linux 下载预编译版本。!!

安装tvm,用vim .bashrc配置环境没有作用,直接用以下命令,从build目录退出到tvm目录

cd ..
cd python
#确认python子环境是否激活为tvmBuild,不要再base当中使用
conda activate tvmBuild
python setup.py install --user

安装依赖包

conda install  numpy decorator attrs  # 必须安装
conda install tornado psutil xgboost cloudpickle #选择安装

测试环境

python
import tvm
from tvm import relay

打开vscode测试,成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值