一键搭建开发环境:制作bash shell脚本

完整脚本:

1.0
#!/bin/bash
set -eecho "=== 开始安装 AI 开发环境(无人交互版) ==="# 检测是否以 sudo 运行
if [ "$EUID" -eq 0 ]; thenecho "⚠️ 警告:请不要使用 sudo 运行此脚本!"echo "请使用普通用户执行: ./install_dev_env.sh"exit 1
fiecho "=== 开始安装 AI 开发环境(无人交互版) ==="# 1. 更新系统
echo "--- 更新系统 ---"
sudo apt update -y
sudo apt upgrade -y# 2. 安装基础依赖
sudo apt install -y libfmt-dev libopencv-dev python3.11-dev ffmpeg wget curl build-essential# 3. 安装 Miniconda(如果未安装)
if ! command -v conda &> /dev/null; thenecho "--- 安装 Miniconda ---"wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.shbash ~/miniconda.sh -b -p $HOME/miniconda3rm ~/miniconda.shexport PATH="$HOME/miniconda3/bin:$PATH"eval "$($HOME/miniconda3/bin/conda shell.bash hook)"
elseecho "已检测到 Miniconda,跳过安装"eval "$(conda shell.bash hook)"
fi# 4. 删除已有 zhy 环境(如果存在)
if conda env list | grep -q "^zhy"; thenecho "--- 删除已有 Conda 环境 'zhy' ---"conda env remove -n zhy -y
fi# 5. 创建 Python 3.11 Conda 环境
echo "--- 创建 Conda 环境 'zhy' ---"
conda create -y -n zhy python=3.11# 6. 激活环境
echo "--- 激活 Conda 环境 'zhy' ---"
conda activate zhy# 7. 升级 pip
echo "--- 升级 pip ---"
pip install --upgrade pip# 8. 安装 PyTorch + torchvision + torchaudio (CUDA 12.8)
echo "--- 安装 PyTorch 2.8.0 + torchvision 0.23.0 + torchaudio 2.8.0 (CUDA 12.8) ---"
pip install torch==2.8.0+cu128 torchvision==0.23.0+cu128 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cu128# 9. 安装 Python 库
echo "--- 安装 python-docx 和 pillow ---"
pip install python-docx pillowecho "=== AI 开发环境安装完成 ==="
echo "要使用环境,请执行:"
echo "  conda activate zhy"
  • #! /bin/bash
    告诉linux系统使用/bin/bash这个程序执行,如果写的是#! /bin/sh 那系统会用sh执行
  • set -e
    脚本中命令以执行失败退出时
2.0
#!/bin/bash
set -e# 检测是否以 sudo 运行
if [ "$EUID" -eq 0 ]; thenecho "⚠ 警告:请不要使用 sudo 运行此脚本!"echo "请使用普通用户执行: ./install_dev_env.sh"exit 1
fiecho "=== 开始安装 AI 开发环境(无人交互版) ==="# 1. 更新系统
echo "--- 更新系统 ---"
sudo apt update -y
sudo apt upgrade -y# 2. 安装基础依赖
echo "--- 安装基础依赖 ---"
sudo apt install -y libfmt-dev libopencv-dev python3.11-dev ffmpeg wget curl build-essential# 3. 安装 Miniconda(如果未安装)
MINICONDA_DIR="$HOME/miniconda3"
if [ ! -d "$MINICONDA_DIR" ]; thenecho "--- 安装 Miniconda ---"wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.shbash ~/miniconda.sh -b -p "$MINICONDA_DIR"rm ~/miniconda.sh
elseecho "已检测到 Miniconda 目录 $MINICONDA_DIR,跳过安装。"
fi# 初始化 conda,无论新安装还是已存在都要执行
export PATH="$MINICONDA_DIR/bin:$PATH"
eval "$($MINICONDA_DIR/bin/conda shell.bash hook)"# 4. 自动接受 Anaconda TOS
echo "--- 接受 Anaconda TOS ---"
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main || true
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r || true# 5. 删除已有 zhy 环境(如果存在)
ENV_NAME="zhy"
if conda env list | grep -q "^$ENV_NAME"; thenecho "--- 删除已有 Conda 环境 '$ENV_NAME' ---"conda env remove -n "$ENV_NAME"
fi# 6. 创建 Python 3.11 Conda 环境
echo "--- 创建 Conda 环境 '$ENV_NAME' ---"
conda create -n "$ENV_NAME" python=3.11 -y# 7. 激活环境
echo "--- 激活 Conda 环境 '$ENV_NAME' ---"
conda activate "$ENV_NAME"# 8. 升级 pip
echo "--- 升级 pip ---"
pip install --upgrade pip# 9. 安装 PyTorch + torchvision + torchaudio (CUDA 12.8)
echo "--- 安装 PyTorch 2.8.0 + torchvision 0.23.0 + torchaudio 2.8.0 (CUDA 12.8) ---"
pip install torch==2.8.0+cu128 torchvision==0.23.0+cu128 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cu128# 10. 安装 Python 库
echo "--- 安装 python-docx 和 pillow ---"
pip install python-docx pillowecho "=== AI 开发环境安装完成 ==="
echo "要使用环境,请执行:"
echo "  conda activate $ENV_NAME"
3.0
#!/bin/bash
set -e# 检测是否以 sudo 运行
if [ "$EUID" -eq 0 ]; thenecho "⚠ 警告:请不要使用 sudo 运行此脚本!"echo "请使用普通用户执行: ./install_dev_env.sh"exit 1
fiecho "=== 开始安装 AI 开发环境(无人交互版) ==="# 1. 更新系统
echo "--- 更新系统 ---"
sudo apt update -y
sudo apt upgrade -y# 2. 安装基础依赖
echo "--- 安装基础依赖 ---"
sudo apt install -y libfmt-dev libopencv-dev python3.11-dev ffmpeg wget curl build-essential# 3. 安装 Miniconda(如果未安装)
MINICONDA_DIR="$HOME/miniconda3"
if [ ! -d "$MINICONDA_DIR" ]; thenecho "--- 安装 Miniconda ---"wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.shbash ~/miniconda.sh -b -p "$MINICONDA_DIR"rm ~/miniconda.sh
elseecho "已检测到 Miniconda 目录 $MINICONDA_DIR,跳过安装。"
fi# 初始化 conda,无论新安装还是已存在都要执行
export PATH="$MINICONDA_DIR/bin:$PATH"
eval "$($MINICONDA_DIR/bin/conda shell.bash hook)"# 4. 自动接受 Anaconda TOS
echo "--- 接受 Anaconda TOS ---"
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main || true
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r || true# 5. 配置 Conda 源(网络不可达时使用清华镜像)
function test_conda_network() {python - <<END
import urllib.request
try:urllib.request.urlopen("https://repo.anaconda.com/pkgs/main/linux-64/repodata.json", timeout=5)exit(0)
except:exit(1)
END
}if ! test_conda_network; thenecho "--- 网络不可达官方源,切换到清华镜像 ---"conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/mainconda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/freeconda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/rconda config --set show_channel_urls yes
elseecho "--- 官方源可用,使用官方源 ---"
fi# 6. 删除已有 zhy 环境(如果存在)
ENV_NAME="zhy"
if conda env list | grep -q "^$ENV_NAME"; thenecho "--- 删除已有 Conda 环境 '$ENV_NAME' ---"conda env remove -n "$ENV_NAME"
fi# 7. 创建 Python 3.11 Conda 环境
echo "--- 创建 Conda 环境 '$ENV_NAME' ---"
conda create -n "$ENV_NAME" python=3.11 -y# 8. 激活环境
echo "--- 激活 Conda 环境 '$ENV_NAME' ---"
conda activate "$ENV_NAME"# 9. 升级 pip
echo "--- 升级 pip ---"
pip install --upgrade pip# 10. 配置 pip 镜像(网络不可达官方 PyPI 时使用清华镜像)
function test_pypi_network() {python - <<END
import urllib.request
try:urllib.request.urlopen("https://pypi.org/simple", timeout=5)exit(0)
except:exit(1)
END
}PIP_INSTALL="pip install"
if ! test_pypi_network; thenecho "--- 网络不可达官方 PyPI,使用清华镜像安装 Python 包 ---"PIP_INSTALL="pip install -i https://pypi.tuna.tsinghua.edu.cn/simple"
elseecho "--- 官方 PyPI 可用 ---"
fi# 11. 安装 PyTorch + torchvision + torchaudio (CUDA 12.8)
echo "--- 安装 PyTorch 2.8.0 + torchvision 0.23.0 + torchaudio 2.8.0 (CUDA 12.8) ---"
$PIP_INSTALL torch==2.8.0+cu128 torchvision==0.23.0+cu128 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cu128# 12. 安装 Python 库
echo "--- 安装 python-docx 和 pillow ---"
$PIP_INSTALL python-docx pillowecho "=== AI 开发环境安装完成 ==="
echo "要使用环境,请执行:"
echo "  conda activate $ENV_NAME"
4.0
#!/bin/bash
set -e# 检测是否以 sudo 运行
if [ "$EUID" -eq 0 ]; thenecho "⚠ 警告:请不要使用 sudo 运行此脚本!"echo "请使用普通用户执行: ./install_dev_env.sh"exit 1
fiecho "=== 开始安装 AI 开发环境(无人交互版) ==="# 1. 更新系统
echo "--- 更新系统 ---"
sudo apt update -y
sudo apt upgrade -y# 2. 安装基础依赖
echo "--- 安装基础依赖 ---"
sudo apt install -y libfmt-dev libopencv-dev python3.11-dev ffmpeg wget curl build-essential# 3. 安装 Miniconda(如果未安装)
MINICONDA_DIR="$HOME/miniconda3"
if [ ! -d "$MINICONDA_DIR" ]; thenecho "--- 安装 Miniconda ---"wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.shbash ~/miniconda.sh -b -p "$MINICONDA_DIR"rm ~/miniconda.sh
elseecho "已检测到 Miniconda 目录 $MINICONDA_DIR,跳过安装。"
fi# 4. 初始化 conda shell 并生效
export PATH="$MINICONDA_DIR/bin:$PATH"
eval "$($MINICONDA_DIR/bin/conda shell.bash hook)"# 5. 将 conda 永久加入 ~/.bashrc
if ! grep -q "conda.sh" "$HOME/.bashrc"; thenecho "--- 将 Conda 添加到 ~/.bashrc ---"echo "# >>> Conda 初始化 >>>" >> "$HOME/.bashrc"echo "export PATH=\"$MINICONDA_DIR/bin:\$PATH\"" >> "$HOME/.bashrc"echo "eval \"\$($MINICONDA_DIR/bin/conda shell.bash hook)\"" >> "$HOME/.bashrc"echo "# <<< Conda 初始化 <<<" >> "$HOME/.bashrc"
fi# 6. 自动接受 Anaconda TOS
echo "--- 接受 Anaconda TOS ---"
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main || true
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r || true# 7. 配置 Conda 源(网络不可达时使用清华镜像)
function test_conda_network() {python - <<END
import urllib.request
try:urllib.request.urlopen("https://repo.anaconda.com/pkgs/main/linux-64/repodata.json", timeout=5)exit(0)
except:exit(1)
END
}if ! test_conda_network; thenecho "--- 网络不可达官方源,切换到清华镜像 ---"conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/mainconda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/freeconda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/rconda config --set show_channel_urls yes
elseecho "--- 官方源可用,使用官方源 ---"
fi# 8. 删除已有 zhy 环境(如果存在)
ENV_NAME="zhy"
if conda env list | grep -q "^$ENV_NAME"; thenecho "--- 删除已有 Conda 环境 '$ENV_NAME' ---"conda env remove -n "$ENV_NAME"
fi# 9. 创建 Python 3.11 Conda 环境
echo "--- 创建 Conda 环境 '$ENV_NAME' ---"
conda create -n "$ENV_NAME" python=3.11 -y# 10. 激活环境(直接在脚本中生效)
echo "--- 激活 Conda 环境 '$ENV_NAME' ---"
conda activate "$ENV_NAME"# 11. 升级 pip
echo "--- 升级 pip ---"
pip install --upgrade pip# 12. 配置 pip 镜像(网络不可达官方 PyPI 时使用清华镜像)
function test_pypi_network() {python - <<END
import urllib.request
try:urllib.request.urlopen("https://pypi.org/simple", timeout=5)exit(0)
except:exit(1)
END
}PIP_INSTALL="pip install"
if ! test_pypi_network; thenecho "--- 网络不可达官方 PyPI,使用清华镜像安装 Python 包 ---"PIP_INSTALL="pip install -i https://pypi.tuna.tsinghua.edu.cn/simple"
elseecho "--- 官方 PyPI 可用 ---"
fi# 13. 安装 PyTorch + torchvision + torchaudio (CUDA 12.8)
echo "--- 安装 PyTorch 2.8.0 + torchvision 0.23.0 + torchaudio 2.8.0 (CUDA 12.8) ---"
$PIP_INSTALL torch==2.8.0+cu128 torchvision==0.23.0+cu128 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cu128# 14. 安装 Python 库
echo "--- 安装 python-docx 和 pillow ---"
$PIP_INSTALL python-docx pillowecho "=== AI 开发环境安装完成 ==="
echo "要使用环境,请执行:"
echo "  conda activate $ENV_NAME"
echo "或者直接打开新终端即可使用 conda 命令。"
5.0 开发环境搭建完整版
#!/bin/bash
set -e# 检测是否以 sudo 运行
if [ "$EUID" -eq 0 ]; thenecho "⚠ 警告:请不要使用 sudo 运行此脚本!"echo "请使用普通用户执行: ./install_dev_env.sh"exit 1
fiecho "=== 开始安装 AI 开发环境(无人交互版) ==="# 1. 更新系统
echo "--- 更新系统 ---"
sudo apt update -y
sudo apt upgrade -y# 2. 安装基础依赖
echo "--- 安装基础依赖 ---"
sudo apt install -y libfmt-dev libopencv-dev python3.11-dev ffmpeg wget curl build-essential# 3. 安装 Miniconda(如果未安装)
MINICONDA_DIR="$HOME/miniconda3"
if [ ! -d "$MINICONDA_DIR" ]; thenecho "--- 安装 Miniconda ---"wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.shbash ~/miniconda.sh -b -p "$MINICONDA_DIR"rm ~/miniconda.sh
elseecho "已检测到 Miniconda 目录 $MINICONDA_DIR,跳过安装。"
fi# 4. 初始化 conda shell 并生效
export PATH="$MINICONDA_DIR/bin:$PATH"
eval "$($MINICONDA_DIR/bin/conda shell.bash hook)"# 5. 将 conda 永久加入 ~/.bashrc
if ! grep -q "conda.sh" "$HOME/.bashrc"; thenecho "--- 将 Conda 添加到 ~/.bashrc ---"echo "# >>> Conda 初始化 >>>" >> "$HOME/.bashrc"echo "export PATH=\"$MINICONDA_DIR/bin:\$PATH\"" >> "$HOME/.bashrc"echo "eval \"\$($MINICONDA_DIR/bin/conda shell.bash hook)\"" >> "$HOME/.bashrc"echo "# <<< Conda 初始化 <<<" >> "$HOME/.bashrc"
fi# 6. 配置 Conda 使用清华镜像
echo "--- 配置 Conda 镜像源为清华 ---"
conda config --remove-key channels 2>/dev/null || true
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
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/r
conda config --set show_channel_urls yes# 7. 删除已有 zhy 环境(如果存在)
ENV_NAME="zhy"
if conda env list | grep -q "^$ENV_NAME"; thenecho "--- 删除已有 Conda 环境 '$ENV_NAME' ---"conda env remove -n "$ENV_NAME"
fi# 8. 创建 Python 3.11 Conda 环境(使用清华镜像)
echo "--- 创建 Conda 环境 '$ENV_NAME' ---"
conda create -n "$ENV_NAME" python=3.11 -y# 9. 激活环境
echo "--- 激活 Conda 环境 '$ENV_NAME' ---"
conda activate "$ENV_NAME"# 10. 升级 pip
echo "--- 升级 pip ---"
pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple# 11. 安装 PyTorch + torchvision + torchaudio (CUDA 12.8) 使用国内源
echo "--- 安装 PyTorch 2.8.0 + torchvision 0.23.0 + torchaudio 2.8.0 (CUDA 12.8) ---"
pip install torch==2.8.0+cu128 torchvision==0.23.0+cu128 torchaudio==2.8.0 \--index-url https://download.pytorch.org/whl/cu128# 12. 安装 Python 库(使用清华 PyPI 镜像)
echo "--- 安装 python-docx 和 pillow ---"
pip install python-docx pillow -i https://pypi.tuna.tsinghua.edu.cn/simpleecho "=== AI 开发环境安装完成 ==="
echo "要使用环境,请执行:"
echo "  conda activate $ENV_NAME"
echo "  source ~/.bashrc"
echo "或者直接打开新终端即可使用 conda 命令。"
6.0 开发环境搭建脚本一键运行版 Docker
#!/bin/bash
set -e# 检测是否以 sudo 运行
if [ "$EUID" -eq 0 ]; thenecho "⚠ 警告:请不要使用 sudo 运行此脚本!"echo "请使用普通用户执行: ./install_dev_env.sh"exit 1
fiecho "=== 开始安装 AI 开发环境(无人交互版) ==="# 1. 更新系统
echo "--- 更新系统 ---"
sudo apt update -y
sudo apt upgrade -y# 2. 安装基础依赖
echo "--- 安装基础依赖 ---"
sudo apt install -y libfmt-dev libopencv-dev python3.11-dev ffmpeg wget curl build-essential# 3. 安装 Miniconda(如果未安装)
MINICONDA_DIR="$HOME/miniconda3"
if [ ! -d "$MINICONDA_DIR" ]; thenecho "--- 安装 Miniconda ---"wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.shbash ~/miniconda.sh -b -p "$MINICONDA_DIR"rm ~/miniconda.sh
elseecho "已检测到 Miniconda 目录 $MINICONDA_DIR,跳过安装。"
fi# 4. 初始化 conda shell 并生效
export PATH="$MINICONDA_DIR/bin:$PATH"
eval "$($MINICONDA_DIR/bin/conda shell.bash hook)"# 5. 将 conda 永久加入 ~/.bashrc
if ! grep -q "conda.sh" "$HOME/.bashrc"; thenecho "--- 将 Conda 添加到 ~/.bashrc ---"echo "# >>> Conda 初始化 >>>" >> "$HOME/.bashrc"echo "export PATH=\"$MINICONDA_DIR/bin:\$PATH\"" >> "$HOME/.bashrc"echo "eval \"\$($MINICONDA_DIR/bin/conda shell.bash hook)\"" >> "$HOME/.bashrc"echo "# <<< Conda 初始化 <<<" >> "$HOME/.bashrc"
fi# 6. 配置 Conda 使用清华镜像
echo "--- 配置 Conda 镜像源为清华 ---"
conda config --remove-key channels 2>/dev/null || true
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
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/r
conda config --set show_channel_urls yes# 7. 删除已有 zhy 环境(如果存在)
ENV_NAME="zhy"
if conda env list | grep -q "^$ENV_NAME"; thenecho "--- 删除已有 Conda 环境 '$ENV_NAME' ---"conda env remove -n "$ENV_NAME"
fi# 8. 创建 Python 3.11 Conda 环境(使用清华镜像)
echo "--- 创建 Conda 环境 '$ENV_NAME' ---"
conda create -n "$ENV_NAME" python=3.11 -y# 9. 激活环境
echo "--- 激活 Conda 环境 '$ENV_NAME' ---"
conda activate "$ENV_NAME"# 10. 升级 pip
echo "--- 升级 pip ---"
pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple# 11. 安装 PyTorch + torchvision + torchaudio (CUDA 12.8) 使用国内源
echo "--- 安装 PyTorch 2.8.0 + torchvision 0.23.0 + torchaudio 2.8.0 (CUDA 12.8) ---"
pip install torch==2.8.0+cu128 torchvision==0.23.0+cu128 torchaudio==2.8.0 \--index-url https://download.pytorch.org/whl/cu128# 12. 安装 Python 库(使用清华 PyPI 镜像)
echo "--- 安装 python-docx 和 pillow ---"
pip install python-docx pillow -i https://pypi.tuna.tsinghua.edu.cn/simple# 13. 安装 Docker(如果未安装)
if ! command -v docker &>/dev/null; thenecho "--- 安装 Docker ---"curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
elseecho "已检测到 Docker,跳过安装。"
fi# 14. 启动 Docker 服务
echo "--- 启动 Docker 服务 ---"
sudo service docker start# 15. 配置 Docker 镜像加速(daemon.json)
echo "--- 配置 Docker 镜像加速 ---"
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json >/dev/null <<EOF
{"registry-mirrors": ["https://docker.m.daocloud.io","https://docker.1panel.live","https://hub.rat.dev"]
}
EOF
sudo service docker restart# 16. 加载本地镜像并启动 docker compose(如果存在 project_images.tar)
if [ -f "./project_images.tar" ]; thenecho "--- 加载本地镜像 ---"sudo docker load -i ./project_images.tarecho "--- 启动 Docker Compose ---"sudo docker compose up -d
elseecho "未找到 ./project_images.tar,跳过镜像加载和 Compose 启动。"
fiecho "=== AI 开发环境安装完成 ==="
echo "要使用环境,请执行:"
echo "  conda activate $ENV_NAME"
echo "  source ~/.bashrc"
echo "或者直接打开新终端即可使用 conda 命令。"
7.0 开发环境搭建脚本一键运行版 跳过重复安装
#!/bin/bash
set -e# 检测是否以 sudo 运行
if [ "$EUID" -eq 0 ]; thenecho "⚠ 警告:请不要使用 sudo 运行此脚本!"echo "请使用普通用户执行: ./install_dev_env.sh"exit 1
fiecho "=== 开始安装 AI 开发环境(无人交互版) ==="# 1. 更新系统
echo "--- 更新系统 ---"
sudo apt update -y
sudo apt upgrade -y# 2. 安装基础依赖
echo "--- 安装基础依赖 ---"
sudo apt install -y libfmt-dev libopencv-dev python3.11-dev ffmpeg wget curl build-essential# 3. 安装 Miniconda(如果未安装)
MINICONDA_DIR="$HOME/miniconda3"
if [ ! -d "$MINICONDA_DIR" ]; thenecho "--- 安装 Miniconda ---"wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.shbash ~/miniconda.sh -b -p "$MINICONDA_DIR"rm ~/miniconda.sh
elseecho "已检测到 Miniconda 目录 $MINICONDA_DIR,跳过安装。"
fi# 4. 初始化 conda shell 并生效
export PATH="$MINICONDA_DIR/bin:$PATH"
eval "$($MINICONDA_DIR/bin/conda shell.bash hook)"# 5. 将 conda 永久加入 ~/.bashrc
if ! grep -q "conda.sh" "$HOME/.bashrc"; thenecho "--- 将 Conda 添加到 ~/.bashrc ---"echo "# >>> Conda 初始化 >>>" >> "$HOME/.bashrc"echo "export PATH=\"$MINICONDA_DIR/bin:\$PATH\"" >> "$HOME/.bashrc"echo "eval \"\$($MINICONDA_DIR/bin/conda shell.bash hook)\"" >> "$HOME/.bashrc"echo "# <<< Conda 初始化 <<<" >> "$HOME/.bashrc"
fi# 6. 配置 Conda 使用清华镜像(若已配置则跳过)
echo "--- 配置 Conda 镜像源为清华 ---"
if ! conda config --show channels | grep -q "tuna.tsinghua"; thenconda config --remove-key channels 2>/dev/null || trueconda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/mainconda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/freeconda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/rconda config --set show_channel_urls yes
fi# 7. 创建 Python 3.11 Conda 环境(如果未存在)
ENV_NAME="zhy"
if conda env list | grep -q "^$ENV_NAME"; thenecho "Conda 环境 '$ENV_NAME' 已存在,跳过创建。"
elseecho "--- 创建 Conda 环境 '$ENV_NAME' ---"conda create -n "$ENV_NAME" python=3.11 -y
fi# 8. 激活环境
echo "--- 激活 Conda 环境 '$ENV_NAME' ---"
conda activate "$ENV_NAME"# 9. 升级 pip(必要时)
echo "--- 升级 pip ---"
pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple# 10. 安装 PyTorch(仅当未安装)
if python -c "import torch" &>/dev/null; thenecho "PyTorch 已安装,跳过。"
elseecho "--- 安装 PyTorch 2.8.0 + torchvision 0.23.0 + torchaudio 2.8.0 (CUDA 12.8) ---"pip install torch==2.8.0+cu128 torchvision==0.23.0+cu128 torchaudio==2.8.0 \--index-url https://download.pytorch.org/whl/cu128
fi# 11. 安装 Python 库(仅当缺失)
for pkg in python-docx pillow; doif python -c "import ${pkg//-/_}" &>/dev/null; thenecho "$pkg 已安装,跳过。"elseecho "安装 $pkg..."pip install "$pkg" -i https://pypi.tuna.tsinghua.edu.cn/simplefi
done# 12. 安装 Docker(如果未安装)
if ! command -v docker &>/dev/null; thenecho "--- 安装 Docker ---"curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
elseecho "已检测到 Docker,跳过安装。"
fi# 13. 启动 Docker 服务
echo "--- 启动 Docker 服务 ---"
sudo service docker start# 14. 配置 Docker 镜像加速(仅当未配置)
DOCKER_DAEMON="/etc/docker/daemon.json"
if [ ! -f "$DOCKER_DAEMON" ] || ! grep -q "daocloud" "$DOCKER_DAEMON"; thenecho "--- 配置 Docker 镜像加速 ---"sudo mkdir -p /etc/dockersudo tee "$DOCKER_DAEMON" >/dev/null <<EOF
{"registry-mirrors": ["https://docker.m.daocloud.io","https://docker.1panel.live","https://hub.rat.dev"]
}
EOFsudo service docker restart
elseecho "Docker 镜像加速已配置,跳过。"
fi# 15. 加载本地镜像并启动 docker compose(如果存在 project_images.tar)
if [ -f "./project_images.tar" ]; thenecho "--- 加载本地镜像 ---"sudo docker load -i ./project_images.tarecho "--- 启动 Docker Compose ---"sudo docker compose up -d
elseecho "未找到 ./project_images.tar,跳过镜像加载和 Compose 启动。"
fiecho "=== AI 开发环境安装完成 ==="
echo "要使用环境,请执行:"
echo "  conda activate $ENV_NAME"
echo "  source ~/.bashrc"
echo "或者直接打开新终端即可使用 conda 命令。"
8.0 开发环境搭建脚本一键运行版 安装软件 后台运行
#!/bin/bash
set -e# 检测是否以 sudo 运行
if [ "$EUID" -eq 0 ]; thenecho "⚠ 警告:请不要使用 sudo 运行此脚本!"echo "请使用普通用户执行: ./install_dev_env.sh"exit 1
fiecho "=== 开始安装 AI 开发环境(无人交互版) ==="# 1. 更新系统
echo "--- 更新系统 ---"
sudo apt update -y
sudo apt upgrade -y# 2. 安装基础依赖
echo "--- 安装基础依赖 ---"
sudo apt install -y libfmt-dev libopencv-dev python3.11-dev ffmpeg wget curl build-essential# 3. 安装 Miniconda(如果未安装)
MINICONDA_DIR="$HOME/miniconda3"
if [ ! -d "$MINICONDA_DIR" ]; thenecho "--- 安装 Miniconda ---"wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.shbash ~/miniconda.sh -b -p "$MINICONDA_DIR"rm ~/miniconda.sh
elseecho "已检测到 Miniconda 目录 $MINICONDA_DIR,跳过安装。"
fi# 4. 初始化 conda shell 并生效
export PATH="$MINICONDA_DIR/bin:$PATH"
eval "$($MINICONDA_DIR/bin/conda shell.bash hook)"# 5. 将 conda 永久加入 ~/.bashrc
if ! grep -q "conda.sh" "$HOME/.bashrc"; thenecho "--- 将 Conda 添加到 ~/.bashrc ---"echo "# >>> Conda 初始化 >>>" >> "$HOME/.bashrc"echo "export PATH=\"$MINICONDA_DIR/bin:\$PATH\"" >> "$HOME/.bashrc"echo "eval \"\$($MINICONDA_DIR/bin/conda shell.bash hook)\"" >> "$HOME/.bashrc"echo "# <<< Conda 初始化 <<<" >> "$HOME/.bashrc"
fi# 6. 配置 Conda 使用清华镜像(若已配置则跳过)
echo "--- 配置 Conda 镜像源为清华 ---"
if ! conda config --show channels | grep -q "tuna.tsinghua"; thenconda config --remove-key channels 2>/dev/null || trueconda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/mainconda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/freeconda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/rconda config --set show_channel_urls yes
fi# 7. 创建 Python 3.11 Conda 环境(如果未存在)
ENV_NAME="zhy"
if conda env list | grep -q "^$ENV_NAME"; thenecho "Conda 环境 '$ENV_NAME' 已存在,跳过创建。"
elseecho "--- 创建 Conda 环境 '$ENV_NAME' ---"conda create -n "$ENV_NAME" python=3.11 -y
fi# 8. 激活环境
echo "--- 激活 Conda 环境 '$ENV_NAME' ---"
conda activate "$ENV_NAME"# 9. 升级 pip(必要时)
echo "--- 升级 pip ---"
pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple# 10. 安装 PyTorch(仅当未安装)
if python -c "import torch" &>/dev/null; thenecho "PyTorch 已安装,跳过。"
elseecho "--- 安装 PyTorch 2.8.0 + torchvision 0.23.0 + torchaudio 2.8.0 (CUDA 12.8) ---"pip install torch==2.8.0+cu128 torchvision==0.23.0+cu128 torchaudio==2.8.0 \--index-url https://download.pytorch.org/whl/cu128
fi# 11. 安装 Python 库(仅当缺失)
for pkg in python-docx pillow; doif python -c "import ${pkg//-/_}" &>/dev/null; thenecho "$pkg 已安装,跳过。"elseecho "安装 $pkg..."pip install "$pkg" -i https://pypi.tuna.tsinghua.edu.cn/simplefi
done# 12. 安装 Docker(如果未安装)
if ! command -v docker &>/dev/null; thenecho "--- 安装 Docker ---"curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
elseecho "已检测到 Docker,跳过安装。"
fi# 13. 启动 Docker 服务
echo "--- 启动 Docker 服务 ---"
sudo service docker start# 14. 配置 Docker 镜像加速(仅当未配置)
DOCKER_DAEMON="/etc/docker/daemon.json"
if [ ! -f "$DOCKER_DAEMON" ] || ! grep -q "daocloud" "$DOCKER_DAEMON"; thenecho "--- 配置 Docker 镜像加速 ---"sudo mkdir -p /etc/dockersudo tee "$DOCKER_DAEMON" >/dev/null <<EOF
{"registry-mirrors": ["https://docker.m.daocloud.io","https://docker.1panel.live","https://hub.rat.dev"]
}
EOFsudo service docker restart
elseecho "Docker 镜像加速已配置,跳过。"
fi# 15. 加载本地镜像并启动 docker compose(如果存在 project_images.tar)
if [ -f "./project_images.tar" ]; thenecho "--- 加载本地镜像 ---"sudo docker load -i ./project_images.tarecho "--- 启动 Docker Compose ---"sudo docker compose up -d
elseecho "未找到 ./project_images.tar,跳过镜像加载和 Compose 启动。"
fi# 16. 安装并安全配置 xplan-view
DEB_PKG="./xplan-view_amd64_beta_0.0.4.deb"
XPLAN_DIR="/opt/xplan-view"# 安装 .deb 包
if dpkg -l | grep -q "xplan-view"; thenecho "xplan-view 已安装,跳过安装。"
elseif [ -f "$DEB_PKG" ]; thenecho "--- 安装 xplan-view ---"sudo dpkg -i "$DEB_PKG" || sudo apt-get install -f -yelseecho "未找到 $DEB_PKG,跳过安装。"fi
fi# 配置系统库路径
if [ ! -f /etc/ld.so.conf.d/xplan-view.conf ]; thenecho "--- 配置系统库路径 $XPLAN_DIR ---"echo "$XPLAN_DIR" | sudo tee /etc/ld.so.conf.d/xplan-view.confsudo ldconfig
elseecho "系统库路径 $XPLAN_DIR 已配置,跳过。"
fi# 自动检测 PyTorch 库路径并加入系统库路径
TORCH_LIB_DIR=$(python -c "import torch, os; print(os.path.join(os.path.dirname(torch.__file__), 'lib'))" || echo "")
if [ -n "$TORCH_LIB_DIR" ] && [ -d "$TORCH_LIB_DIR" ]; thenif [ ! -f /etc/ld.so.conf.d/torch.conf ]; thenecho "--- 配置 PyTorch 库路径 $TORCH_LIB_DIR ---"echo "$TORCH_LIB_DIR" | sudo tee /etc/ld.so.conf.d/torch.confsudo ldconfigfi
fi# 重命名原始二进制,防止递归调用
if [ -f "$XPLAN_DIR/xplan-view" ] && [ ! -f "$XPLAN_DIR/xplan-view.real" ]; thensudo mv "$XPLAN_DIR/xplan-view" "$XPLAN_DIR/xplan-view.real"sudo chmod +x "$XPLAN_DIR/xplan-view.real"
fi# 创建安全启动脚本
STARTUP_SCRIPT="/usr/local/bin/xplan-view"
if [ ! -f "$STARTUP_SCRIPT" ]; thenecho "--- 创建安全启动脚本 $STARTUP_SCRIPT ---"sudo tee "$STARTUP_SCRIPT" >/dev/null <<EOF
#!/bin/bash
export LD_LIBRARY_PATH="$XPLAN_DIR:\$LD_LIBRARY_PATH"
exec "$XPLAN_DIR/xplan-view.real" "\$@"
EOFsudo chmod +x "$STARTUP_SCRIPT"
elseecho "xplan-view 启动脚本已存在,跳过。"
fi# 安装完成后自动运行
echo "--- 启动 xplan-view ---"
"$STARTUP_SCRIPT" &echo "=== AI 开发环境安装完成 ==="
echo "要使用环境,请执行:"
echo "  source ~/.bashrc"
echo "  conda activate $ENV_NAME"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/94633.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/94633.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mac m4执行nvm install 14.19.1报错,安装低版本node报错解决

原因 由于node14使用的变异工具链太旧&#xff0c;无法适配最新的macOS SDK头文件导致_studio.h报错 解决办法 方法1 更新nvm到最新版本 brew update nvmnvm install 14.19.1 --binary 方法2 启用Rosetta安装&#xff08;Intel仿真&#xff09; 1.arch -x86_64 zsh 2.nvm insta…

Codeforces Round 1043 (Div. 3) F. Rada and the Chamomile Valley

F.拉达和甘菊谷 每次测试的时间限制&#xff1a;3 秒 每次测试的内存限制512 兆字节 输入&#xff1a;标准输入 输出&#xff1a;标准输出 昨天&#xff0c;拉达发现了一个传送门&#xff0c;可以把她传送到洋甘菊谷&#xff0c;然后再传送回来。拉达的快乐无以言表&#xff0c…

STM32 入门实录:从 0 到 3 色 LED 呼吸式闪烁

一、需求 & 最终效果 硬件&#xff1a;Blue-Pill&#xff08;STM32F103C8T6&#xff09; 3 只 LED&#xff08;红 PA0、黄 PA1、绿 PA2&#xff09;现象&#xff1a;上电后红→黄→绿→黄→全灭&#xff0c;每步 100 ms&#xff0c;循环往复。 二、硬件连接LED 端连接说明阴…

Playwright与PyTest结合指南

Playwright与PyTest的结合&#xff0c;为Web自动化测试带来了强大的动力。它让你既能利用Playwright现代、跨浏览器的自动化能力&#xff0c;又能借助PyTest成熟测试框架的结构化、可扩展性来高效管理和组织测试用例。我会带你了解如何将这两者结合使用。 为了让你快速上手&am…

plantsimulation知识点 一条轨道上多台RGV如何引用

最近做项目有如下需求&#xff1a;轨道1上初始化生成三台RGV&#xff0c;然后通过另一条轨道2上的传感器代码控制轨道1上的三台RGV&#xff0c;之前如果另一条轨道只有一台RGV&#xff0c;我是通过轨道2.cont来引用这台RGV的。但是现在轨道上有了多台RGV&#xff0c;此代码就不…

【Canvas与盾牌】“靡不有初,鲜克有终”黄竖条盾牌

【成图】【代码】<!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>黄竖条盾牌 Draft1</title><style type"text/css"&…

使用linux+javascript+html+mysql+nodejs+npm+express等构建信息资料采集系统

一、适用场景 1、人才信息库、档案管理&#xff0c;构建企业或单位内部人才库。 2、公务员/事业单位招聘&#xff0c;网上报名填写资料、上传证书等。 3、科研项目申报&#xff0c;课题负责人信息、成果附件、审查材料上传。 4、志愿者招募&#xff1a;在线填写报名信息&#…

低空经济产业白皮书:音视频链路在智能飞行体系中的核心地位

引言 低空经济正在成为继数字经济、新能源产业之后的又一战略制高点。它不仅意味着无人机物流、空中通勤、应急救援、文旅体验等新业态的兴起&#xff0c;更代表着 城市治理、智能制造、公共服务全面进入空域数字化时代。从政策引导到产业投资&#xff0c;从技术突破到应用创新…

【LeetCode 热题 100】32. 最长有效括号——(解法二)动态规划

Problem: 32. 最长有效括号 文章目录整体思路完整代码时空复杂度时间复杂度&#xff1a;O(N)空间复杂度&#xff1a;O(N)整体思路 这段代码同样旨在解决 “最长有效括号” 问题&#xff0c;但它采用的是一种 动态规划 (Dynamic Programming) 的方法。这种方法通过构建一个DP表…

使用Docker部署ZLMediaKit流媒体服务器实现gb/t28181协议的设备

最近在研究一个摄像头&#xff0c;通信协议是 gb/t28181。对于这个协议也是第一次接触&#xff0c;通过查阅多方资料&#xff0c;找到了两个开源的源码&#xff0c;来实现 视频播放、摄像头直播。以前也没有深入的了解过关于视频播放的这方面的技术&#xff0c;偶尔网站播放视频…

硬件三人行--运算基础篇

第3讲 负反馈放大电路

【LINUX网络】TCP原理

目录 本文介绍 1. 什么是TCP&#xff1f; 2. TCP结构 为什么需要协议栈&#xff1a;两台主机通信的复杂性解决方案 3. 确认应答机制 进一步理解什么是确认和请求以及序号 进一步理解什么是序号和确认序号 并发发送带来的问题以及解决方案&#xff08;序号&#xff09; …

Java -- 文件基础知识--Java IO流原理--FileReader

目录 1. 常用文件操作 2. Java IO流原理 2.1 流的分类 3. FileReader和FileWriter介绍 FileReader相关方法&#xff1a; FileWriter常用方法&#xff1a; 文件是保存数据的地方&#xff0c;比如大家经常使用的word文档&#xff0c;txt文件&#xff0c;excel文件...都是文…

向量方法证明正余弦定理的数学理论体系

向量方法证明正余弦定理的数学理论体系 摘要&#xff1a; 向量理论为几何定理的证明提供了强有力的代数化工具。本文基于向量空间的基本概念与运算性质&#xff0c;严格推导平面几何中的正弦定理与余弦定理。通过建立系统的向量表示框架&#xff0c;将几何关系转化为向量运算&a…

【笔记ing】大模型算法架构

前言 随着人工智能技术的飞速发展,大模型算法及其架构已成为推动科技前沿的重要力量。它们不仅能够处理海量的数据,还具备强大的表征学习能力,能够应对日益复杂的场景需求。本章节将介绍大模型算法及其架构,带您了解其背后的原理、技术创新以及在实际应用中的广阔前景。 …

ConcurrentHashMap的原理

1.底层数据结构JDK1.7底层采用分段的数组链表实现JDK1.8 采用的数据结构跟HashMap1.8的结构一样,数组链表/红黑二叉树2.加锁的方式JDK1.7采用Segment分段锁,底层使用的是ReentrantLockJDK1.8采用CAS添加新节点,采用synchronized锁定链表或红黑二叉树的首节点,相对Segment分段锁…

【论文阅读】健全个体无辅助运动期间可穿戴传感器双侧下肢神经机械信号的基准数据集

Benchmark Datasets for Bilateral Lower-Limb Neuromechanical Signals from Wearable Sensors during Unassisted Locomotion in Able-Bodied Individuals 原文&#xff1a;DOI&#xff1a; 10.3389/frobt.2018.00014 2018年 翻译&#xff1a;靠岸学术 目录 1引言 2仪器设…

反向海淘系统搭建:从架构设计到合规运营的全方位指南

一、系统架构设计1.1 分层架构设计反向海淘系统通常采用四层架构设计&#xff1a;‌接入层‌&#xff1a;负责与淘宝开放平台、1688海外接口通信&#xff0c;处理接口认证、请求转发与响应解析。‌业务层‌&#xff1a;包含商品检索、订单管理、支付处理、物流追踪等核心模块。…

20.22 QLoRA微调实战:中文语音识别数据准备全流程解密

QLoRA微调实战:中文语音识别数据准备全流程解密 实战项目:QLoRA 微调数据准备详解 本环节我们将以中文语音识别任务为场景,详细拆解 QLoRA 微调前的数据准备流程。以下流程图展示了完整的数据处理路径: #mermaid-svg-A3ZpWn1ysZUg6jg4 {font-family:"trebuchet ms&q…

工业电子看板赋能线缆工厂生产高效运转

在制造业智能化转型的浪潮中&#xff0c;工业电子看板已不再只是“显示数据的屏幕”&#xff0c;而是成为连接设备层、控制层与管理层的实时信息枢纽。尤其在线缆制造这类对工艺参数敏感、生产连续性要求高的行业中&#xff0c;电子看板通过对关键数据的透明化、实时化与交互化…