VS Code Remote-SSH 配置记录:从本地 Windows 到远程 GPU 服务器

参考链接:Getting Started with Python in VS Code

基础条件:已下载VS Code和Python Interpreter,Windows可以在PowerShell中通过python --version 和 pip --version可以查到

第一阶段:配置本地 VS Code + 本地 Python

第一步:创建本地测试文件夹:"E:\Code\Python_test"

第二步:用VS Code打开这个文件夹:File-->Open File-->选择"E:\Code\Python_test"

第三步:新建一个测试文件test_local.py:

python 复制代码
import sys

print("Hello, VS Code Python!")
print("Python executable:", sys.executable)
print("Python version:", sys.version)

第四步:选择Python解释器

在 VS Code中按:Ctrl + Shift + P

输入:Python: Select Interpreter

选择Base环境(如果出现"VS Code 目前选中的 Python 解释器路径无效"弹窗,点击弹窗里的蓝色按钮"选择 Python 解释器",选择"输入解释器路径",再选择"查找"手动输入Base环境下的解释器路径,揭示其路径查找可以用PowerShell中的where python得到 )

第五步:运行测试脚本

点击右上方运行按钮

这里运行的时候除了正常print出结果,还出现了,按照提示的链接访问about_Exec

ution_Policies,这个报错的大致意思就是Power Shell对conda环境的激活失败了,原因在于PoweShell的执行策略。在PowerShell中运行命令"Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned"即可修改当前用户执行策略,重新打开VSCode即可正常激活所需环境。

python 复制代码
D:\Anaconda\shell\condabin\conda-hook.ps1 : 无法加载文件 D:\Anaconda\s
hell\condabin\conda-hook.ps1,因为在此系统上禁止运行脚本。有关详细信息
,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Exec
ution_Policies。
所在位置 行:1 字符: 2
+ (D:\Anaconda\shell\condabin\conda-hook.ps1) ; (conda activate base)
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [],PSSecurityExcepti
    on
    + FullyQualifiedErrorId : UnauthorizedAccess
usage: conda-script.py [-h] [--no-plugins] [-V] COMMAND ...
conda-script.py: error: argument COMMAND: invalid choice: 'activate' (choose from 'clean', 'compare', 'config', 'create', 'info', 'init', 'install', 'list', 'notices', 'package', 'remove', 'uninstall', 'rename', 'run', 'search', 'update', 'upgrade', 'build', 'convert', 'debug', 'develop', 'doctor', 'index', 'inspect', 'metapackage', 'render', 'skeleton', 'env', 'pack', 'repo', 'content-trust', 'verify', 'token', 'server')

第二阶段:配置 VS Code Remote-SSH + 远程服务器 Python/conda

第一步:直接在VS Code的终端中输入ssh -p 端口号 用户名@服务器IP

根据终端的返回确定是否输入密码。如果是第一次链接这个服务器和端口,需要yes一下信任这个远程主机。

第二步:查看远程服务器的一些信息:

python 复制代码
pwd #看当前目录
whoami #看当前用户名
hostname #服务器主机名
python --version#查远程服务器当前的Python版本
conda env list # 看服务器有哪些conda环境
nvidia-smi#查看GPU信息

确认命令行可以连接上服务器之后,配置VS Code Remote-SSH模块

第三步:将这个SSH链接配置进VS Code

在终端输入exit回退到本地PoweShell

在VS Code终端里输入:notepad $env:USERPROFILE\.ssh\config

如果弹出记事本并提示文件不存在,选择创建并输入,然后保存并关闭。

python 复制代码
Host 服务器的本地别名
    HostName 服务器地址
    User 登陆用户名
    Port SSH端口

第四步:测试SSH config是否生效

输入ssh 服务器的本地别名,终端提示符变为远程环境即生效

第五步:VS Code Remote-SSH 连接服务器

先exit回到本地PowerShell

在VS Code左侧扩展栏搜索并安装:Remote - SSH

安装完成后按Ctrl + Shift + P

输入并选择Remote-SSH: Connect to Host...

然后可以看到 服务器的本地别名,选择这个并视需求选择"Linux、Windows或macOS"输入密码,VS Code会打开一个新的远程窗口。左下角会显示SSH:服务器的本地别名,表示VS Code已连接到远程服务器了。

第六步:做一个最小的远程测试项目

这里是直接在远程服务器上进行新建、编辑和保存的功能。不是在本地新建后同步过去。

在终端里创建一个用于测试的文件夹,然后创建一个简单的Python测试脚本:

python 复制代码
mkdir -p ~/projects/test_remote 
cd ~/projects/test_remote 
pwd

cat > test_remote.py << 'EOF' 
import sys 
import os 
import socket 
print("Hello, Remote VS Code Python!")
print("Python executable:", sys.executable) 
print("Python version:", sys.version) 
print("Current working directory:", os.getcwd()) 
print("Hostname:", socket.gethostname()) 
EOF

创建完成之后运行测试脚本:python test_remote.py,如果成功运行说明Python可以正常运行。

第七步:用VS Vode打开这个远程文件夹

在 VS Code 里点:File → Open Folder

打开刚刚新建的目录,打开后,在左侧资源管理器可以看到刚刚新建的py文件