云计算百科
云计算领域专业知识百科平台

VSCode远程连接AutoDL服务器 + 配置虚拟环境 + 上传本地项目到远程服务器

文章目录

  • 一、VSCode远程连接AutoDL服务器
    • (1)获取AutoDL实例登录信息
    • (2)安装Remote-SSH插件(VSCode首次使用)
    • (3)远程连接AutoDL实例(通过SSH)
    • (4)打开远程终端
    • (5)关闭远程连接
  • 二、配置虚拟环境
    • (1)切换到非root用户(可跳过)
    • (2)安装Miniconda(可跳过)
    • (3)创建虚拟环境 + 安装依赖库
      • 推荐方式:指定路径下,创建虚拟环境
      • 🛠 备用方式:默认路径下,创建虚拟环境
  • 三、上传本地项目到远程服务器
      • 推荐方式:VSCode图形界面上传下载操作
      • 🛠 备用方式:通过scp命令实现文件传输(适合进阶用户)
  • 四、克隆仓库(若项目在本地,则跳过)
    • 推荐方式:通过远程终端手动克隆
    • 🛠 备用方式:通过Clone Repository克隆仓库
  • 五、运行远程代码项目
  • 以项目为例
  • 其他:Stable Diffusion Web UI
    • 1、项目介绍
    • 2、功能概述
    • 3、支持的主要模型体系
  • 备注:混乱版本(仅用于记录测试过程,详细请参考上述流程)
    • 第一步:克隆仓库(使用清华大学镜像站或其他加速代理服务进行克隆)
    • 第二步:安装依赖(建议使用Miniconda或系统Python)
    • 第三步:下载模型(以SD1.5为例)
    • 第四步:启动WebUI服务
    • 第五步:切换到非root用户
    • 第六步:将项目目录从root复制给普通用户
    • 第七步:在非root用户下,安装python3环境
    • 第八步:环境配置
    • (4)下载模型(文件太大导致下载失败,通过JupyterLab上传)
    • (5)启动
    • (6)OSError: Can't load tokenizer for 'openai/clip-vit-large-patch14'.

一、VSCode远程连接AutoDL服务器

AutoDL帮助文档:VSCode远程开发 通过Visual Studio Code(VSCode)配合Remote-SSH插件,可方便地连接AutoDL远程服务器,实现跨平台远程开发、调试与部署。

(1)获取AutoDL实例登录信息

在AutoDL平台控制台中,进入已开机的实例,获取SSH登录指令与密码信息。示例如下:

登录指令:ssh p 38909 root@region1.autodl.com
密码:vw5hijtsdrsay

(2)安装Remote-SSH插件(VSCode首次使用)

打开VSCode:

  • 点击左侧扩展图标Extensions;
  • 搜索Remote – SSH;
  • 点击" 安装 "。

安装完成后,在VSCode最左下角状态栏将出现远程连接入口Open a Remote Window(绿色><标志)。

(3)远程连接AutoDL实例(通过SSH)

连接流程如下:

  • 点击VSCode左下角绿色连接标志(或使用快捷键F1,输入并选择Remote-SSH: Connect to Host…);
  • 在弹出的菜单中选择Add New SSH Host;
  • 输入AutoDL提供的SSH登录指令,例如:ssh -p 38909 root@region-1.autodl.com,回车确认;
  • 当提示是否编辑SSH配置文件时,直接回车跳过;
  • 若出现操作系统选择提示,请选择Linux;
  • 根据提示输入密码(如:vw5hijtsdrsay),等待连接建立;
  • 成功连接后,VSCode左下角将显示状态为SSH: connect;
  • 点击左侧Remote Explorer图标,可查看远程服务器的终端与目录结构信息。

(4)打开远程终端

完成连接后:

  • 点击菜单栏Terminal → New Terminal;
  • 将在底部Terminal中打开远程终端,即可在AutoDL服务器中执行命令(如创建虚拟环境、安装依赖等)。

在这里插入图片描述

(5)关闭远程连接

当完成远程开发任务后,可通过以下方式安全关闭远程连接:

  • 菜单栏选择:File → Close Remote Connection;
  • VSCode将自动断开SSH连接,并返回本地工作空间。

备注:建议在关闭连接前,确保已保存所有修改、退出虚拟环境,并完成必要的数据同步。

二、配置虚拟环境

远程服务器连接成功后,建议为每个项目单独配置Python虚拟环境,以隔离依赖、提升可维护性,并保持开发环境整洁。

(1)切换到非root用户(可跳过)

若服务器上仅有root用户,建议新增普通用户以降低权限风险:

# 添加用户(例如命名为 sduser)
adduser sduser
# 系统提示输入密码(例如设置为123456)

# 将用户添加到 sudo 组(允许执行管理员操作,视情况而定)
usermod aG sudo sduser

# 切换至新用户
su sduser

(2)安装Miniconda(可跳过)

AutoDL服务器通常预装conda或miniconda,默认路径可能为 /root/miniconda3 或 /opt/conda。首次使用时可能需要加载初始化脚本:

# 1. 下载 Miniconda 安装脚本
wget https://repo.anaconda.com/miniconda/Miniconda3latestLinuxx86_64.sh O ~/miniconda.sh

# 2. 执行安装脚本(安装至 ~/miniconda3)
bash ~/miniconda.sh b p ~/miniconda3

# 3. 激活conda环境
eval "$(/home/sduser/miniconda3/bin/conda shell.bash hook)"
conda activate base

# 建议将conda路径加入环境变量,方便后续调用
export PATH=~/miniconda3/bin:$PATH

(3)创建虚拟环境 + 安装依赖库

  • 建议为每个项目单独创建虚拟环境,避免依赖冲突并便于统一管理。
  • 为避免默认路径冲突、方便统一管理,建议将虚拟环境创建至/root/envs/或~/envs/目录中:

推荐方式:指定路径下,创建虚拟环境

此方式可集中管理环境文件,避免默认路径冲突,便于生产部署。 在指定路径下创建环境:conda create –prefix 路径\\env_name -y

# 创建虚拟环境(指定路径)
conda create prefix /root/envs/py39 python=3.9 y

# 初始化conda(首次使用)
conda init bash
source ~/.bashrc

# 激活虚拟环境
conda activate /root/envs/py39

# 安装常用依赖
conda install numpy opencv matplotlib y
pip install r /root/stablediffusionwebui/requirements.txt

# 退出虚拟环境
conda deactivate

# 删除环境(如需清理)
conda remove prefix /root/envs/py39 all

#########################################################################
# 安装 GPU 版 PyTorch(CUDA11.8 兼容)
conda install pytorch torchvision torchaudio pytorchcuda=11.8 c pytorch c nvidia y
# 验证torch是否安装成功且可正常使用GPU
python3 c "import torch; print('torch:', torch.__version__); print('CUDA可用:', torch.cuda.is_available()); print('CUDA版本:', torch.version.cuda); print('设备名称:', torch.cuda.get_device_name(0) if torch.cuda.is_available() else '无GPU')"
# 打印信息:
# torch: 2.5.1
# CUDA可用: True
# CUDA版本: 11.8
# 设备名称: NVIDIA GeForce RTX 4090
#########################################################################

🛠 备用方式:默认路径下,创建虚拟环境

快速且方便,适合测试和简单项目,但环境集中在默认目录,可能导致多项目依赖冲突。

# 创建虚拟环境(默认路径)
conda create n py39 python=3.9 y

# 初始化conda(首次使用)
conda init bash
source ~/.bashrc

# 激活环境
conda activate py39

# 安装常用依赖库
conda install numpy opencv matplotlib y
pip install r requirements.txt

# 退出环境
conda deactivate

# 删除环境(如需清理)
conda remove n py39 all

三、上传本地项目到远程服务器

完成Remote-SSH连接后,VSCode支持直接拖拽上传,也可使用命令行工具scp进行文件传输。

推荐方式:VSCode图形界面上传下载操作

该方式操作直观、效率高,适合初学者及日常开发场景,推荐作为主要方式使用。

  • 上传本地文件/文件夹至远程:
    • 在左侧点击Explorer(资源管理器);
    • 点击Open Folder,选择远程路径(建议选择/root/目录),直接点击OK;
    • 将本地项目文件或整个文件夹直接拖入远程目录,VSCode会自动完成上传;
    • 上传进度可在终端状态栏中查看。

在这里插入图片描述

  • 下载远程文件/文件夹至本地:
    • 在远程目录中右键目标文件或文件夹;
    • 选择Download,即可将其保存至本地;(或复制粘贴至本地窗口);
    • VSCode自动保存至本地文件系统。

📌 图形化方式无需记忆命令,配合Remote Explorer使用体验更佳,适用于所有平台。

🛠 备用方式:通过scp命令实现文件传输(适合进阶用户)

AutoDL与VSCode开发环境下的Linux命令实用指南

"""(1)从本地上传至远程"""
scp 本地路径 用户名@IP地址:远程路径
# 示例:
scp a.py root@1.2.3.4:/root/
#####################################
"""(2)从远程下载至本地"""
scp 用户名@IP地址:远程路径 本地路径
# 示例:
scp root@1.2.3.4:/root/output.txt ./

⚠ 建议在Git Bash或PowerShell中执行;首次连接时可能提示信任远程主机指纹,选择确认即可。

四、克隆仓库(若项目在本地,则跳过)

推荐方式:通过远程终端手动克隆

适用于正式开发与部署场景,具备最高灵活性与可控性。

  • 推荐理由:
    • 可自定义目标路径(如/root/、/home/user/)
    • 支持多项目协同管理,结构清晰
    • 不依赖默认配置,避免权限或环境异常
  • 操作步骤:
  • 成功连接Remote-SSH后,点击左侧快捷栏,打开远程终端(Terminal);
  • 在远程终端中执行如下命令(建议使用清华大学镜像加速):

cd /root/
git clone https://gitclone.com/github.com/AUTOMATIC1111/stablediffusionwebui.git

  • 克隆完成后,在VSCode中执行:
    • 点击菜单栏File > Open Folder
    • 选择 /root/stable-diffusion-webui 目录,点击确定打开项目

🛠 备用方式:通过Clone Repository克隆仓库

适合快速体验GitHub开源项目或初学者测试环境使用。

  • 存在局限:
    • 默认克隆路径可能不是/root/目录;
    • 克隆后仍需手动“Open Folder”加载项目;
    • 不适合多项目部署与复杂依赖管理场景。
  • 操作步骤:
  • 点击左侧图标栏中的「Remote Explorer」;
  • 选择「Clone Repository」,输入Git仓库地址并回车;
  • 系统将自动下载项目至默认位置(如~或/home/username/);
  • 克隆完成后,需手动点击「Open Folder」打开对应目录。

五、运行远程代码项目

文件上传完成后,可在VSCode远程终端中激活环境并运行代码。

# 切换到上传的项目路径
cd /root/yourproject

# 激活conda虚拟环境
conda activate yourenv

# 执行主程序
python main.py

可通过ls命令查看项目结构,通过conda info –envs确认环境名称是否正确。

以项目为例

其他:Stable Diffusion Web UI

White-box-Cartoonization stable-diffusion-webui 轻松复现一张AI图片(系列教程-推荐) 逼真的图片生产 | Stable Diffusion WebUI本地部署看这一篇就够了

1、项目介绍

Stable Diffusion Web UI 是一个基于 Stable Diffusion 模型的图形化用户界面,通常指的是由AUTOMATIC1111开发的 WebUI项目,它极大地降低了使用Diffusion模型生成图像的门槛,具备丰富的功能和插件扩展能力,是当前AI绘图领域最受欢迎的前端之一。

2、功能概述

功能模块简要说明
文生图(txt2img) 根据文本提示词生成图像。支持prompt/negative prompt、采样步数、CFG等参数设置。
图生图(img2img) 基于原始图像和文本提示对图像进行重绘或风格化,可控制变化程度。
Inpainting(图像修复) 对图像中被掩盖的区域进行AI修复,支持面部修复、背景修复、去物等任务。
Outpainting(图像扩展) 将图像边界向外扩展,同时保持风格一致性。
ControlNet支持 提供边缘图、姿态图、深度图等精确控制条件生成图像。适用于姿态迁移、线稿上色、草图重建等。
图像批处理 支持txt2img/img2img批量生成图像。
Prompt生成工具 提供prompt拼接、语义权重、关键词替代等高级提示词编辑功能。
插件系统(Extensions) 提供无限插件扩展能力,如LoRA训练、图像浏览器、样式库等。

3、支持的主要模型体系

  • Stable Diffusion系列基础模型
模型名称简要说明
StableDiffusion v1.4 / v1.5 最经典的1.x系列模型,分辨率512×512,适合风格创作与普通生成。
StableDiffusion v2.1 使用OpenCLIP训练,支持768×768,更适合真实感风格。
StableDiffusion XL (SDXL) 目前最新的大型扩散模型,分辨率1024×1024,文本理解更强、图像更精细。
SDXL Turbo 快速生成模型,优化速度性能,适用于交互式应用。
  • 风格化与专业模型(通过checkpoint导入)
    • 动漫类:Anythingv4, AOM3, Counterfeit
    • 现实人像类:RealisticVision, Deliberate, DreamShaper
    • 手绘/插画类:MajicMix, MeinaMix
    • AI插画特化:ReVAnimated, PerfectWorld
    • 用户可通过WebUI界面轻松导入.ckpt/.safetensors格式模型
  • 轻量模型(LoRA)
    • 可加载多个LoRA进行组合创作
    • 实现局部风格迁移、角色定制等
    • 常用于风格细调、训练定制人物风格等任务
  • ControlNet模型
    • edge detection, depth, pose, scribble, canny等
    • 支持多模态控制输入,实现高精度图像控制生成

备注:混乱版本(仅用于记录测试过程,详细请参考上述流程)

下面是通过AutoDL平台与VSCode远程开发环境,成功安装并运行Stable Diffusion Web UI(AUTOMATIC1111)的完整流程。该流程适用于无需图形界面但希望通过Web访问、远程控制模型与样式生成的智能体、研究或创作工作场景。

第一步:克隆仓库(使用清华大学镜像站或其他加速代理服务进行克隆)

# git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
git clone https://gitclone.com/github.com/AUTOMATIC1111/stablediffusionwebui.git

cd stablediffusionwebui

第二步:安装依赖(建议使用Miniconda或系统Python)

# 检查当前是否已安装Python3
python3 version

# 如果没有,可以先更新索引再安装
apt update
apt install y python3 python3venv python3pip git wget libgl1 libglib2.00

第三步:下载模型(以SD1.5为例)

# 模型文件需要放在 models/Stable-diffusion/ 目录中:
mkdir p models/Stablediffusion
wget O models/Stablediffusion/model.safetensors # https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned.safetensors

若出现网络问题:443端口连接超时。也可以先下载后再手动上传*.ckpt或*.safetensors模型到该目录。 下载地址:https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned.safetensors

第四步:启动WebUI服务

# 启动(默认监听7860端口)
bash webui.sh

webui.sh脚本检测到当前是以root用户身份运行,并自动中止执行。

root@autodlcontainer4f654a857016b75b52:~/stablediffusionwebui# bash webui.sh

################################################################
Install script for stablediffusion + Web UI
Tested on Debian 11 (Bullseye), Fedora 34+ and openSUSE Leap 15.4 or newer.
################################################################

################################################################
ERROR: This script must not be launched as root, aborting...
################################################################

❗为什么不能以root身份运行?

  • 官方在脚本中明确禁止以root身份运行,理由包括:
  • 避免污染系统Python环境
  • 避免破坏权限隔离
  • 避免潜在的pip模块冲突或虚拟环境失败
  • 安全原则:大部分Web应用设计上都应使用普通权限运行

第五步:切换到非root用户

✅ 正确运行方式 必须切换为非root用户来执行webui.sh,否则安装过程(例如虚拟环境创建、依赖下载)会直接被中断。

✅ 方法一:使用已有普通用户(推荐) 如果系统中已有普通用户(如user1),执行以下命令切换:

su user1
cd ~/stablediffusionwebui
bash webui.sh

✅ 方法二:创建新用户(如尚未创建) 如果没有普通用户,请按以下方式创建一个非root用户:

# 添加用户(例如叫sduser)
adduser sduser
# 密码:123456

# 将其加入sudo组(可选)
usermod aG sudo sduser

# 切换用户
su sduser

# 回到项目路径(需先确保文件目录权限正确)
cd ~/stablediffusionwebui
bash webui.sh

第六步:将项目目录从root复制给普通用户

目前的问题是:你已经成功切换到了非root用户sduser,但此用户的home目录中并没有stable-diffusion-webui项目目录。原因是这个项目是在root账户下通过git clone或wget等方式下载的,普通用户是无法直接访问root的home目录的。

✅ 解决方案:

# 1. 回到root:此命令会让你从sduser用户返回root用户。
exit

# 2. 将项目目录复制到普通用户目录并更改所有权:假设你原来的项目在/root/stable-diffusion-webui
cp r /root/stablediffusionwebui /home/sduser/
chown R sduser:sduser /home/sduser/stablediffusionwebui

# 3. 切换回sduser并执行脚本
su sduser
cd ~/stablediffusionwebui
bash webui.sh

################################################################
Install script for stablediffusion + Web UI
Tested on Debian 11 (Bullseye), Fedora 34+ and openSUSE Leap 15.4 or newer.
################################################################

################################################################
Running on sduser user
################################################################

################################################################
Repo already cloned, using it as install directory
################################################################

################################################################
ERROR: python3 is not installed, aborting...
################################################################

第七步:在非root用户下,安装python3环境

ERROR: python3 is not installed, aborting…说明容器中没有安装python3环境,而且你当前是非root用户(sduser),没有sudo权限。此问题在autoDL环境中较常见,解决方案如下:

✅ 解决方案:非root用户手动安装Python3和pip 步骤1:下载并编译安装Python 3.10+

# 创建目录
mkdir p ~/tools && cd ~/tools

# 下载Python源码(使用Python 3.10.6)
wget https://www.python.org/ftp/python/3.10.6/Python3.10.6.tgz

# 解压
tar xzf Python3.10.6.tgz && cd Python3.10.6

# 配置安装路径到当前用户home目录
./configure prefix=$HOME/.local/python3.10 enableoptimizations

# 编译并安装(可能需要几分钟)
make j4 && make install

步骤2:添加Python路径到环境变量

# 写入.bashrc环境变量
echo 'export PATH=$HOME/.local/python3.10/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

步骤3:确认安装成功

python3 version
# 应输出 Python 3.10.13

which python3
# 应输出 /home/sduser/.local/python3.10/bin/python3

步骤4:重新执行启动脚本

cd ~/stablediffusionwebui
bash webui.sh
# 开始安装(虽然安装了半天还是显示没有Torch)

pip3.10 uninstall torch torchvision torchaudio
pip3.10 install torch torchvision torcha
udio indexurl https://download.pytorch.org/whl/cu121
# ⚠️ 注意此处使用的是pip3.10,而不是pip。

RuntimeError: Torch is not able to use GPU; add skiptorchcudatest to COMMANDLINE_ARGS variable to disable this check
# bash webui.sh –skip-torch-cuda-test

ModuleNotFoundError: No module named ‘_ctypes’

第八步:环境配置

由于容器限制,非 root 用户无法通过 apt 安装系统依赖,而当前自编译的 Python 环境缺少 _ctypes,导致 PyTorch 无法导入。最简洁可靠的办法是使用 Miniconda,在用户目录下自带完整 Python 标准库及二进制依赖,无需依赖系统包,也能直接安装 GPU 版 PyTorch。

  • 一键在用户目录安装 Miniconda
  • # 1. 下载 Miniconda 安装脚本
    wget https://repo.anaconda.com/miniconda/Miniconda3latestLinuxx86_64.sh O ~/miniconda.sh

    # 2. 运行安装脚本(安装到 ~/miniconda3 目录)
    bash ~/miniconda.sh b p ~/miniconda3

    # 3. 激活 conda 环境
    eval "$(/home/sduser/miniconda3/bin/conda shell.bash hook)"
    conda activate base

  • 创建专属环境并安装 PyTorch + WebUI 依赖
  • # 1. 新建环境(Python3.10)
    conda create n sdwebui python=3.10.6 y
    conda activate sdwebui

    # 2. 安装 GPU 版 PyTorch(CUDA11.8 兼容)
    conda install pytorch torchvision torchaudio pytorchcuda=11.8 c pytorch c nvidia y

    # 3. 安装其余依赖
    # 切回项目目录
    cd ~/stablediffusionwebui
    pip install r requirements.txt

    说明: pytorch-cuda=11.8 与容器驱动 CUDA12.4 向下兼容良好; Miniconda 自带 _ctypes,可避免手动编译系统依赖; requirements.txt 包含 WebUI 除 PyTorch 之外的所有 Python 依赖。

  • 启动 Stable Diffusion Web UI
  • 确保已激活环境 sdwebui,然后:

    # 使用 conda 环境中的 python 启动
    python launch.py
    # 或
    bash webui.sh

    (4)下载模型(文件太大导致下载失败,通过JupyterLab上传)

    JupyterLab默认工作目录是/root,而非root用户目录(如/home/sduser)未在文件浏览器中默认展开。

    • 在JupyterLab中显示并进入/home/sduser目录:
      • 打开JupyterLab – Terminal
      • 输入命令ln -s /home/sduser ~/sduser,表示在当前根目录创建一个指向/home/sduser的快捷方式:
      • 在JupyterLab的文件浏览器中点击刷新(右上角 ↻ 图标),即可看到一个新文件夹叫:sduser/
      • 进入sduser/stable-diffusion-webui/models/Stable-diffusion/即可上传文件。

    在这里插入图片描述 备注:100M宽带,上传7.17GB,约耗时1.5h。(若在vscode中通过命令行自动下载:速度更慢;下载可能中断)

    (5)启动

    python launch.py

    在这里插入图片描述

    (6)OSError: Can’t load tokenizer for ‘openai/clip-vit-large-patch14’.

    ✅ 解决方案(针对AutoDL环境) 🔧 方法一:联网安装缺失的模型文件 AutoDL容器在启动时有时网络权限不完整,可能无法直接访问 HuggingFace。可通过以下命令手动下载并缓存所需资源:

  • 手动下载openai/clip-vit-large-patch14文件 在本地执行:
  • git lfs install
    git clone https://huggingface.co/openai/clipvitlargepatch14

    或通过Python手动下载缓存:

    from transformers import CLIPTokenizer
    CLIPTokenizer.from_pretrained("openai/clip-vit-large-patch14")

    会自动缓存到~/.cache/huggingface目录。 然后将该目录上传到AutoDL容器中的 /home/sduser/.cache/huggingface 路径下。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » VSCode远程连接AutoDL服务器 + 配置虚拟环境 + 上传本地项目到远程服务器
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!