一、前言

1、背景

最近的项目要在一台离线的服务器上(Ubuntu 22.04)进行UIE训练,想要部署训练环境还需要pip能联网,于是在网上到处找各种环境的离线安装包,总算才成功配置。

2、源码安装Python

最开始是用的Python官网提供的源码文件进行编译安装,但是服务器缺少部分libs依赖,所以最后采取安装Anaconda,但是这里也先介绍一下Python源码安装的过程

2.1 安装libs依赖包

sudo apt-get update
sudo apt-get install build-essential libssl-dev libbz2-dev libsqlite3-dev libreadline-dev zlib1g-dev libffi-dev libncurses5-dev
  1. build-essential:该软件包包含了一组必要的工具和编译器,例如:gcc、g++、make等。
  2. libssl-dev:该软件包包含了openssl库头文件和静态库,如果你编译的Python需要使用SSL/TLS功能,就必须安装这个依赖。
  3. libbz2-dev:该软件包包含了bzip2库头文件和静态库,如果你编译的Python需要使用bz2压缩算法,就必须安装这个依赖。
  4. libsqlite3-dev:该软件包包含了SQLite数据库头文件和静态库,如果你编译的Python需要使用SQLite数据库,就必须安装这个依赖。
  5. libreadline-dev:该软件包包含了readline库头文件和静态库,如果你编译的Python需要支持命令行交互,就必须安装这个依赖。
  6. zlib1g-dev:该软件包包含了zlib库头文件和静态库,如果你编译的Python需要使用zlib压缩算法,就必须安装这个依赖。
  7. libffi-dev:该软件包包含了libffi库头文件和静态库,如果你编译的Python需要使用C语言扩展,就必须安装这个依赖。
  8. libncurses5-dev:该软件包包含了ncurses库头文件和静态库,如果你编译的Python需要支持图形界面,就必须安装这个依赖。

2.2 编译安装

  • 解压好的源码目录
#prefix指定Python安装目录
./configure prefix=/usr/local/python3 --enable-optimizations 

make

make install
  • 配置环境变量
    nano ~/.bashrc 编辑文件
    在文件中添加export PATH="/usr/local/python3/bin:$PATH"
    source ~/.bashrc 更新环境变量

3、离线安装Anaconda

3.1 下载

访问Anaconda官方网站下载对应linux版本的anaconda版本安装包,这里选择linux平台的64位 版本(64-Bit(x86) Installer),点击进行下载。

1-下载Anaconda.png

3.2 安装

  • 执行安装脚本
sh Anaconda3-2023.09-0-Linux-x86_64
  • 一直按回车知道出现询问是否接受许可,输入yes,并按下回车键

2-安装Anaconda许可.png

  • 此处为是否修改anaconda路径,按下enter键安装在默认路径,输入路径安装在自定义路径

3-修改安装路径.png

  • 等待解压安装

4-等待解压安装.png

  • 键入yes并回车,添加conda为环境变量。

若此处键入no,则需要自行设置环境变量: 需要在安装完成后进入自己用户的.bashrc文件,在最后一行添加以下文本:

  • nano ~/.bashrc 中配置环境变量
    export PATH="/Anaconda安装路径/bin:$PATH"

  • 更新source ~/.bashrc

  • 安装成功

5-安装成功.png

这里使用的是Anaconda的默认环境,可根据需要创建环境,具体请深入了解Anaconda的使用

二、离线CUDA Tookit安装

CUDA官网根据需要下载

  • 这里选择.run程序安装
    6-cuda.png

1、安装CUDA Tookit

cd /上传的目录

chmod +x cuda_12.3.0_545.23.06_linux.run  //修改.run文件的权限,替换成自己的文件

./cuda_12.3.0_545.23.06_linux.run

  • 这一块输入accept表明你接受协议,然后回车

7-cuda.png

  • 这里只保留cuda toolkit其余的全部取消,取消的方式是按上下键选中其中的一个之后按一次回车就行 然后选择Options回车

8-cuda.png

  • 上下键选择Toolkit Options回车,进去修改相应的安装路径,如果选择默认的会没有安装权限,必须安装到自己的家目录地下,可以使用 mkdir 创建目录,进去之后使用上下键及回车取消其他的存储方式,选择Change Toolkit Install Path回车

9-cuda.png

  • 把下图的内容删除之后加入自己在家目录创建的文件夹路径,然后回车

10-cuda.png

  • 选择Done完成,之后选择Install进行安装,完成安装的界面如下

11-cuda.png

  • 同样的方式配置环境变量,命令这里不在重复,注意之前配过anaconda,所以这里要注意

12-cuda.png

  • nvcc --version校验结果

13-安装成功.png

三、Python环境安装

因为pip无法通过网络下载所需依赖,所以这里在一台联网的电脑上,把所需依赖下载下来,在把.whl文件上传到服务器上,或者到官网下载对应版本的whl包。

  • 在一个联网的linux,先修改pip镜像源,这里修改为清华大学镜像
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
  • 更新pip
# 其中`-U`选项表示升级`pip`到最新版本
pip install pip -U
  • 编写所需依赖txt文件,这里以torch为例 准备好torch.txt内容如下
torch==2.1.0
torchaudio==2.1.0
torchvision==0.16.0
  • 指定文件下载依赖
pip download -d 指定依赖下载的目录 -r torch.txt

14-下载torch.png

  • 离线安装依赖
# 两种方式

# 1、批量安装
pip install --no-index --find-links=依赖所在目录 -r 依赖txt文件

# 单个安装
pip install xxx.whl