win11分盘+linux(ubuntu18.04)双系统+tx2刷机+tx2深度学习环境配置——全套超详细教程

想要完成人工智能相关操作,一个完美的系统是必要的。大部分友友在环境配置过程中都会遇到各种无法解决的情况,有些报错在网上很难找到解决方法,不是方法不适合我们自己的系统就是按照方法完成到最后系统无反应,这是不是你所需要的问题呢?

这种时候,一份完整且成功的教程就尤为重要了!本篇博客是为了记录本人近期刷机Jetson TX2的方法(各位友友们可下载自用也可收藏备用,一般情况不会删除)

【文章所有文件均存储到夸克网盘内,需要大量时间完成的事就让我来吧,大家享受成果就够啦😘】

【rufus、ubuntu18.04的iso镜像文件、sdkmanager软件安装包、我刷机时下载的所有软件包】

【文件链接:夸克网盘分享

废话不多说,直接上干货!!!😌

第一部分 安装ubuntu与windows双系统

本人虚拟机ubuntu系统刷机出现未知网络错误情况,网上方法无法解决,故改用双系统安装ubuntu18.04

Ubuntu20.04无法刷机,好像是因为TX2不支持

一、windows分盘

本机系统:windows11

第一步:点击搜索

第二步:在输入框输入“设置”

第三步:点击“设置”应用

第四步:设置里搜索“存储设置”

第五步:点击“存储设置”

第六步:点击“高级存储设置”

第七步:点击“磁盘和卷”

第八步:点击想要分的盘

第九步:点击“属性”

第十步:点击“更改大小”

第十一步:设置自己想要的磁盘大小【1G=1024MB】

【我的磁盘是385203MB,准备分出100G出来安装ubuntu系统:设置剩余磁盘大小为282803MB】

a690a1f56f030fd43b50b86783a5a2f9.png
7c29460eb9470f92b86702919ad7ad6b.png
1efa2157074913f83cece2d0bfaeeb87.png
422dc067592d4fdec4d2986552e5c513.png
415b4da419d4b209696d3f60eb2b5856.png
7a4367988b0b8b56e5395cfad0736915.png
edaf75a51280bc3ef5aad0f14928bd63.png
33003fd00bc3b55068dadf8f9e5af3ca.png

二、制作ubuntu18.04启动盘

启动盘用“rufus”软件制作

第一步:插入u盘,打开rufus

【rufus也可以用来做其他系统的启动盘】

【记得备份u盘的东西喔,因为系统盘制作会将u盘内文件全部删除】

第二步:点击“选择”,将ubuntu的iso镜像包导入进来

【点击选择后选中对应iso文件就行】

第三步:点击“开始”

【默认设置即可】

第四步:按要求点击各项设置

【提示连网安装新东西的话最好连网给装一下】

52c0c7a2c6d4b2b59007bb2dea8d49f9.png
ca7fb5d759664981ea1fceccef5c9bfd.png
0d1164e5ab10f56149b2e3f4875607cf.png

三、安装ubuntu系统

本机系统:ubuntu18.04

经过第一部分分盘,相信大家电脑上都有了一部分空闲磁盘了,我们会用这部分空闲磁盘挂载ubuntu系统,接下来咱们开始进行ubuntu18.04系统的安装

第一步:重启电脑,狂按“F2”键进入BIOS界面

第二步:为方便查看,将BIOS界面设置中文

第三步:设置打开电脑USB启动

第四步:按“F10”保存设置并重启电脑

第五步:插入u盘,重启电脑,狂按“F12”键出现u盘启动选项

第六步:点击我们u盘对应的选项,进入ubuntu系统安装

第七步:选择“Install Ubuntu”

第八步:选择语言为中文

第九步:设置系统输入法为汉语拼音

第十步:设置更新

【插上网线,下载速度贼快😁】

第十一步:设置分区

【直接选择第一个选项,选它最便捷】

【系统内无其他ubuntu,可以选“安装ubuntu与windows共存”】

【系统内有其他ubuntu,想重装的友友可以选择“卸载并重装”】

【系统内有其他ubuntu,想再装一个的友友可以选择“其他选项”】

【我没尝试过装2个以上系统,想要的友友可以自己找教程喔😘】

第十二步:按要求安装就可以啦

【地区选择哪里都没有影响,后期好像不需要用到】

c25f02741993eae6fb7ddb2005cddb57.png
9480780d6e902a28599908603852d3c5.png
64e8464c4038139ab573b561805c301b.png
dc07007bcb7dd5ec13a682bcb50769dd.png
976f9f1ca7a47ac44b953021d8106c12.png
4a785d771f570a202976a91d4ef3ddf4.png
b9e8c0b4731ab63085b6bfbbe4660b3f.png
dc1d9456c1deebf051b944884d50cfdf.png

四、解决ubuntu18.04在联想小新pro16电脑上无法进桌面系统问题

报错:Failed to Start User Manager for UID 121

至此,ubuntu双系统安装完成!

这个报错原因是GTX1050显卡驱动有问题

f2341171762374dfc9952d71f47f6ea0.png

第一步:开机选系统界面点击“ubuntu高级选项”

第二步:光标选择第一个按“e”

第三步:编辑界面中将倒数第3行quiet splash后面的内容删掉,改成nomodeset

第四步:按“F10”保存并退出,这时候就可以正常进入ubuntu18.04系统桌面了

第五步:进入系统桌面后点开“软件和更新”

第六步:选择“附加驱动”,点击有“专有驱动”标识的驱动,然后点击“应用更改”

第七步:关闭“软件和更新”,它会自动更配置

第八步:关闭ubuntu系统,重新启动

第九步:开机选系统界面点击“ubuntu高级选项”

第十步:点击第一个带“recovery mode”字样的选项

第十一步:光标移动到“dpkg”点击完成系统修复

【如果不执行系统修复,windows会显示黑屏】

c216e12d87e5d3fc57b3d832d90eea13.png
62096624f45c5e64885720e9831a1651.png
595d09721c635cef0f1a6f40b9a632de.png
10b62a60a7ab060a889ab77894f0ae34.png
95d79a00cd6262866011263db0955a26.png
93eb4d22e4a48c18172c7d6c3a3647be.png
59b75c95f8c43e50b2317249508366b6.png
479f19380a2d0845361cde44842dca8c.png
6d4ad1d1ef307f3ce442f15d033a26f9.png

五、ubuntu18.04更换国内清华源

完成了上面操作后,差一步就可以刷机啦

换源是为了安装东西时速度更快

大家也可以选择在软件和更新的“Ubuntu软件”里边换国内源【具体步骤点开就会知道的】

第一步:打开终端【位置就在“软件与更新旁边”】

第二步:输入如下代码

sudo gedit /etc/apt/sources.list

第三步:将弹出的文件内容删除并复制下面软件源进去

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
 
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

第四步:保存并关闭文件,输入下面代码进行更新


sudo apt-get update   # 更新源
sudo apt-get upgrade  # 更新系统工具

 ubuntu与windows系统时间不匹配问题

【可以看文章:ubuntu与windows双系统时间同步问题——简明指南 - 知乎

退出windows,进入ubuntu,在终端里输入一条指令,就可以验证上面的分析:

timedatectl status 

这个指令用来查看系统时间状态。如果您的显示如下:

format,png

timedatectl这个工具管理时间,特别方便

第一行,Local time=12点,是ubuntu联网获取到的当地时间。

第三行,RTC time=4点,是电脑的BIOS时间。可以看到,ubuntu把当地时间减去8小时,得到了UTC时间并赋给了BIOS。

最后一行,RTC in local TZ=no,这句话代表系统时间和BIOS时间不同步,即BIOS存储的是UTC时间,而系统时间是当地时间。

那么问题就来了,下次重启进入windows时,windows读到的BIOS时间是4点,而windows认为BIOS时间就是当地时间,所以就会直接显示4点。不过,windows也会联网,等他得到正确的12点后,他又会将BIOS设为12点,那么等你下次进ubuntu的时候,ubuntu又会把12点加上8,得到20点,再输出——如此循环,每次更换系统的时候显示的时间都不对。

解决方案

解决方案非常简单。直接在ubuntu终端中输入:

timedatectl set-local-rtc 1

这句话的作用是让ubuntu将系统时间和BIOS时间同步。现在,ubuntu和windows一样,都认为BIOS时间就是当地时间,联网更新时,也是直接将BIOS时间设为当地时间。这样就没问题了。

现在再输入timedatectl status查看系统时间状态:

format,png

warning是给你们的开发者看的,不是给我看的

第一行,Local time=12点。

第三行,RTC time=12点,即BIOS也被设为了12点。

最后一行,RTC in local TZ变为了yes。系统时间和BIOS时间完成同步。

弹出一个Warning,告诉你这种方法不太好,但我们为了同步两个系统的时间,也只能这么做了。

现在再重启进入windows,看到时间已经对了

六、TX2刷机

至此,环境搭建完成。现在进行刷机教程

第一步:将“nvidia”包保存到“downloads”文件夹下

【如果系统为中文,就在主目录下创建“downloads”文件夹,并存放“nvidia”文件夹】

第二步:将sdkmanager的软件包解压

【解压方法:双击软件包,系统会弹出一个安装界面,点击“install”完成安装】

【近期出现软件无法登录问题报错‘invalid_request’是由于软件版本太老,官方不承认网址了,可到网址:‘https://developer.nvidia.com/nvidia-sdk-manager’下载最新版】

第三步:打开sdkmanager软件

【打开位置如下图】

【注:第一次打开需要登陆,没有nvidia账号的友友记得注册一个】

b5245f14c49680f17586d784c4f90bfd.png

第四步:按下图提示进行刷机

24ac700838136aa9f7c705baa157e0d9.png
7440e9900cdb9dc58bba710bc2b9cce5.png
642be5add4accae1d23c81d2022b0137.png
7554b6c2d5005e668c60251a399861ab.png
af92f3441c63e2f62fd67c336eeaea16.png
a67f58b724a91bd2311bc6947705c52f.png
7450961bbd350f5eaef971f60381ad57.png

TX2刷机模式打开方法【上边图像中的网线接口其实是电源接口,我标错了】

fff665642477c3efffc2edbba26262a3.png
bed3da3a92ac9eb36b3c9ade7eb2dbcf.png
483d57245e9dc235f7a45aad80c2e59d.png
838ec94caf4f794263e9e0707e360dee.png
b80b5767d16cdba2366334b01d8f1390.png
e76dd5526a3d7ffeae831917d55942bf.png
e34ce66c82fc8ea254b038a557f1c2ff.png

注意:

到这一步时,我们就可以不用管这边了。

先按照上面ubuntu安装方法将TX2的系统安装完成【记得给tx2接上显示屏】

安装完成后回到原计算机,继续刷机进程

一般TX2安装完成系统后安装都会很顺利,下载太慢的友友可以尝试下TX2换源【记得TX2端和PC端换源方法会略有不同】【搜索“TX2换源”会有换源方法】,换完会比较快

5a4f5e9343fe3e92f132dd5ba6bef09e.png

至此,刷机完成!

七、TX2深度学习环境配置

刷机完成后,我们首先需要更换国内源,这有利于在国内下载速度提升

第一步:先对源文件进行备份【终端输入】

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

第二步:更新系统设置【终端输入】

sudo apt-get update

第三步:打开保存源地址的文件【终端输入下面第一个框内命令】,先按‘d’删除所有内容,再an‘i’插入下面第二个框内内容,然后按电脑按键‘ESC’退出编辑,最后输入‘:wq’强制保存并退出

sudo vi /etc/apt/sources.list
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main universe restricted
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main universe restricted

第四步:更新源文件【终端输入】

sudo apt-get update

接着设置一下中文输入法

第一步:安装 fcitx 核心

sudo apt install -y fcitx

第二步:中文输入法

sudo apt install -y fcitx-table-*
sudo apt install -y fcitx-googlepinyin

第三步:之后按照下面这篇博客安装就可以【亲测可用,就直接给考下来了】

http://t.csdnimg.cn/Zpbjl

点击屏幕右上角的下拉箭头,选择“系统设置(Settings)”按钮

575ceb8d0bae4a14a8597a9905752bec.png
在弹出的对话框中选择 Region & Language,并点击 Manage Installed Languages

786ef76d0bcb4f36ab605d8782ea30e5.png
在弹出的提示框中选择 Remind Me Later

5efc1ddeb19243d1b8645c534e167908.png
在 “Keyboard input method system” 下拉框中将 IBus 更改为 fcitx,然后点击 Close 保存退出:

6ce78267bfbf4f588d10db22d52f3d08.png
登出或者重启系统(非常重要)
系统重启后会在控件栏多出一个键盘样式的 fcitx 输入法的图标,点击图标并选择 “Configure Current Input Method”:

df12d139dbbf478498e7728a49349e9c.png
在弹出的对话框中的左下角点击+号按钮:

a26fdbd84b1d4a608ac6d9e4b080e4d7.png
将 “Only Show Current Language” 前面的勾去掉,然后选择自己合适的输入法,比如我选择了最熟悉的五笔输入法,然后点击OK按钮生效:

3d0d0c64fa174bafb51871e1f6648337.png

230f13eab46f4646b375d07694a4c9c4.png

7ae9b514eabd4428a2cae06efe0c1139.png

如果你是使用其他的输入法,比如拼音输入法,即可在 “Add input method” 对话框输入 “pinyin” 来选择:

ad585bf4b3b94a99ab491694329cf304.png

使用 Ctrl + 空格 切换中英文输入法,使用 Ctrl + shift 在多个输入法之间进行切换:

af7e5225666447339e672a6b6aba4f27.png

有需要扩容TX2的友友可以看下面的SD卡挂载【无需求可以跳过】

第一步:在win系统下给sd卡进行格式化【需要读卡器】

用读卡器把sd卡接入电脑后,我们打开设备管理器【就是‘此电脑’的文件夹】,右键点击就可以进行格式化了

9fecd5ed9f334a1086fe359f705f0940.png

格式化完弹出sd卡并插入tx2即可,接下来是在tx2的操作

第一步:查看硬盘信息【终端输入】

sudo fdisk -lu

主要看我们的sd卡被系统分配到了哪个位置,就是下面这个,可以看出sd卡设备挂载位置为/dev/mmcblk2p1,分区类型为exFAT类型

a6ea0364a65140e099e581989d4ac1ee.png

第二步:修改sd卡模式为ext4【终端输入】

sudo mkfs -t ext4 /dev/mmcblk2p1

第三步:获取sd卡的UUID【终端输入】,结果如下,UUID="fdc2c0db-909f-433f-85f2-441cdaeb307a"

sudo blkid

2dedc4acc1e74a58accfa648d803ebee.png

第四步:创建文件夹中转我们原本TX2机子的/home目录【终端输入】

sudo mkdir /media/home

第五步:修改fstab文件【终端输入】

sudo vim /etc/fstab

添加下面这行到文件末尾  ·注意不能改变空格数,否则会报错,最好复制下面一行进行修改

UUID="fdc2c0db-909f-433f-85f2-441cdaeb307a"            /media/home                     ext4           defaults                                     0 2

5c5f38bf341b4d5d899d98a4fc2202db.png

第六步:重新分区【终端执行命令】

sudo mount -a

第七步:复制/home目录到我们创建的中转文件/media/home里边【执行命令】

sudo rsync -aXS --exclude='/*/.gvfs' /home/. /media/home/.

第八步:查看复制是否成功  ·没报错就成功【终端执行下面命令】

sudo diff -r /home /media/home -x “.gvfs/*”

第八步:重新设置fstab文件【终端执行下面命令】

sudo vim /etc/fstab

在最后加上下面命令

# (identifier)  (location, eg sda5)   (format, eg ext3 or ext4)      (some settings)
UUID="fdc2c0db-909f-433f-85f2-441cdaeb307a"            /home                     ext4           defaults                                     0 2

53474bef66ea47eeb3eac1373e13a716.png

第九步:将/home目录改名成/old_home【终端执行】

cd / && sudo mv /home /old_home && sudo mkdir /home

第十步:重新挂载新的home目录,就是我们的sd卡【终端执行】

sudo umount /media/home/
sudo mount -a

第十一步:删除旧的home目录,完成sd卡挂载【终端执行】

cd /
sudo rm -rI /old_home

接着配置cudnn,由于tx2默认安装了cuda10.2,但并未配置sudnn,所以我们使用下方命令进行配置【终端输入】

sudo cp /usr/include/cudnn.h /usr/local/cuda/include/
sudo cp /usr/lib/aarch64-linux-gnu/libcudnn* /usr/local/cuda/lib64/

接着安装一个远程控制软件,用于传文件,因为tx2系统原因,普通u盘并不能按照常规办法读取,所以此处安装一个远程控制软件todesk

第一步:到官网安装想要的版本:https://www.todesk.com/linux.html

【下载arm64版本的deb包】

第二步:在安装目录位置打开终端,执行以下命令:

sudo apt-get install ./你下载的deb包的名字

如果执行不了,可以对软件进行初始化,初始化软件命令:

sudo systemctl stop todeskd.service

sudo mv /opt/todesk/config/config.ini /opt/todesk/config/config.ini.bak

sudo systemctl start todeskd.service

实在不行就卸载掉软件,换上其他软件,卸载软件命令:

sudo apt-get remove --purge todesk

接着安装archiconda【跟anaconda一样的一个软件】【可以创虚拟环境】

提示:软件包放在夸克网盘了,可以自取

安装命令【终端执行】

sh 文件保存路径

注意:安装时第二个可以ENTER的选项是设置安装路径,其他一路yes就可以

安装完成后输入命令

vim ~/.bashrc

进入到如下界面

i,在最后一行输入

export PATH=~/home/anaconda3/bin:$PATH

Esc键,然后输入:wq保存并退出

创建conda虚拟环境命令

conda create -n 虚拟环境名 python=3.6

创建虚拟环境时报错权限设置不正确,多半是安装时用管理员权限安装了,在archiconda3文件夹安装目录下打开终端,运行下面代码消除

sudo chown -R 本机用户名 archiconda3

conda换国内源【终端执行】

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

接着安装opencv-python

提示:指定清华源安装,命令后面加上下面这句【终端执行】

 -i https://pypi.tuna.tsinghua.edu.cn/simple/

首先,我们需要更新下原环境下的pip,因为pip太老了会导致没法安装东西

卸载原来的pip【终端输入】

pip uninstall pip

安装新版本的pip【终端输入】

conda install pip=21.2.2

可以自己指定opencv版本4.4.0.46【终端执行】【下载出错也可以把pip改成pip3或conda,其他一样】

pip install opencv-python==3.4.17.63 -i https://pypi.tuna.tsinghua.edu.cn/simple/

安装这个前看下opencv版本号,两个版本要一样【终端执行】

pip install opencv-contrib-python==3.4.17.63 -i https://pypi.tuna.tsinghua.edu.cn/simple/

如果在‘Building wheel for opencv-python (PEP 517)’卡住【终端执行】

pip install --upgrade pip # 更新pip

提示:上边的下载代码如果想可视化的话可以用下面两句执行【终端执行】

pip install opencv-python==3.4.17.63 -i https://pypi.tuna.tsinghua.edu.cn/simple --verbose  # 显示可视化进程安装opencv-python
pip install opencv-contrib-python==3.4.17.63 -i https://pypi.tuna.tsinghua.edu.cn/simple --verbose  # 显示可视化进程安装opencv-contrib-python

接着安装pytorch

提示:软件包放在夸克网盘了,可以自取

也可以到下方链接自行下载:

PyTorch for Jetson - Jetson Nano - NVIDIA Developer Forums

https://download.pytorch.org/whl/cu100/torch/

执行下面命令安装【此处命令需要在软件包存放位置打开终端执行】

sudo apt-get install python3-pip libopenblas-base libopenmpi-dev  # 执行完重启,使安装包配置生效
pip install Cython -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install numpy torch-1.10.0-cp36-cp36m-linux_aarch64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple/

接着安装torchvision·」

执行下面命令安装,注意与torch版本的匹配【终端执行】

sudo apt-get install libjpeg-dev zlib1g-dev
pip install setuptools  -i  https://pypi.tuna.tsinghua.edu.cn/simple/  # 增加下一步的安装速度
git clone -b v0.11.1 https://github.com/pytorch/vision torchvision  # 这一行可以改变匹配安装的版本·「此处安装的是torchvision的0.11.1版本」
cd torchvision
sudo python3 setup.py install

接着安装pycharm·「

tx2下,pycharm需要有JDK解释器才能运行,因此需要先安装JDK解释器【终端执行】

apt-cache search openjdk
sudo apt-get install openjdk-8-jdk

执行上面语句默认的安装目录为:/usr/lib/jvm/java-8-openjdk-arm64

下面对JDK进行环境配置【终端运行】

sudo  vi  ~/.bashrc   //打开配置文件
sudo gedit ~/.bashrc

在文件最后一行添加下面语句

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64  //(这里用你安装的目录!!!!)
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

添加完语句就保存并退出,然后执行下面语句更新环境配置【终端执行】

source ~/.bashrc

安装完JDK就可以安装pycharm啦(注意:此处pycharm不能安装太新的版本,因为JDK不支持)

pycharm安装网址:https://www.jetbrains.com/pycharm/download/#section=linux

下载完就打开安装包,然后把里边的文件拖到主目录【home】下完成解压

解压完在解压的文件夹里边的bin目录下打开在终端:/home/a42108/pycharm-community-2021.3.3/bin

输入下面命令完成pycharm安装

sh ./pycharm.sh

如果报错:Error occurred during initialization of VM

执行下面命令

sudo apt-get install default-jdk

小窍门

由于放着不动系统会很快熄屏,所以需要技术支持一下

在System Settings -> Power -> "Don't suspend"

单单设置这个不起作用,还需要输入下面命令:

gsettings set org.gnome.desktop.session idle-delay 0

运行完就不会熄屏了

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值