第 7 章

Conda环境与PyCharm调试

·约 9 分钟

1. Conda 基础操作

Conda 是 Python 的环境管理工具,能在同一台服务器上维护多个互不干扰的 Python 环境。

实验室服务器上的 Conda 已经装好了,安装在 /opt/anaconda3/,登录后直接可用。我们可以创建两种 Conda 环境,一种是共享环境(通常默认创建这种就好),会存放在 /opt/anaconda3/envs/ 共享目录下;另一种是私有环境,存放在自己的家目录 ~/.conda/envs/ 下,只有自己能用。

查看已有环境

conda env list

以这台服务器(5070Ti-002)为例,可以看到已经安装了很多的conda环境。

image-20260902070737996

创建新环境

conda create -n myenv python=3.10

-n myenv 是环境名,你自己取一个能区分项目的名字。python=3.10 指定 Python 版本。

image-20260902071539286

按 y 并回车,等待安装完成。

image-20260902071715239

上面是网络正常的情况,如果像下面这样出现 SSLError,通常是因为没连上校园网。在命令行中输入 google-chrome 并回车就可以打开 google 浏览器,然后访问 172.30.1.1,应该会跳转到校园网认证,把校园网连上就好。

image-20260902071102538

安装完初步环境后,可以通过 pip 安装 pytorch、numpy、opencv-python 等其它包,通常代码仓库中都会有相应的环境搭建指引。再敲 conda env list,可以看到刚才安装的 myenv 环境出现了。

image-20260902071927683

激活 / 退出环境

conda activate myenv   # 激活
conda deactivate       # 退出,回到 base

image-20260902072147151

激活后终端前面会出现 (mytracker),说明你现在在这个环境里。后续的 pip install 只会影响当前激活的环境。例如安装一个numpy。

image-20260902072635985

如果像这样安装非常慢,配一下国内镜像源,例如清华源。

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

快多了!装完之后再敲 pip list,果然安装好了。

image-20260902072806349

安装 PyTorch

装 Pytorch 通常是搭环境最关键的一步。去 PyTorch 官网 选对应的 CUDA 版本,复制安装命令。例如:

# 先确认服务器的 CUDA 版本
nvidia-smi

# 示例:CUDA 12.8 对应的安装命令
# 2024 年之前 Conda 环境中的 Pytorch 还是用 conda 命令来安装的,现在基本上都统一用 pip 了!
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu128

image-20260902072850980

可以看到本机的版本非常新,CUDA 13.2。通常选一个代码仓库推荐版本与本机环境兼容版本折中的一个 PyTorch 版本就好,但开始写代码跑实验之后要锁环境,避免 Pytorch / CUDA 版本变动造成性能波动。

装完验证一下,输出 True 就说明 PyTorch装好了,GPU 可用。

python -c "import torch; print(torch.cuda.is_available())"

2. PyCharm 安装与启动

调代码有两种方式:一种是在代码里加 print() 打印变量,另一种是用 PyCharm 打断点单步调试。print 能解决简单问题,但当你需要观察一个循环里每一步的张量变化、或者搞清楚一个函数的调用链时,断点调试效率高得多。

安装 PyCharm

服务器上可能有已经装好的 Pycharm,可以在 /data/ruanjian 找找,当然也可以重新给自己装一个。

以5070Ti-002为例,下面展示在家目录给自己装一个新的 PyCharm。

第一步:下载安装包

从 PyCharm 官网 下载 linux 版本(以 tar.gz 结尾),再传到服务器上,或者直接在服务器上用 wget 下载:

cd ~   # 回到家目录
wget https://download.jetbrains.com/python/pycharm-2026.2.1.tar.gz

image-20260902232647062

第二步:解压

tar -xzvf pycharm-2026.2.1.tar.gz

解压后得到 pycharm-2026.2.1/ 文件夹,可以直接使用,可运行程序在其中的 bin/pycharm。

image-20260902232850464

把安装包顺手清了也可以。

rm pycharm-2026.2.1.tar.gz

第三步:启动试一下。

~/pycharm-2026.2.1/bin/pycharm >/dev/null 2>&1 &

首次启动会弹出用户协议和主题选择,一路点过去就行。看到欢迎界面说明安装成功。

image-20260902233046518

在 MobaXterm 中使用 Macro 一键启动 Pycharm

PyCharm 是图形界面程序,需要通过 MobaXterm 的 X11 转发来显示窗口。每次手动敲命令太麻烦,可以设一个 Macro(宏)一键启动。

启动命令是:

~/pycharm-2026.2.1/bin/pycharm >/dev/null 2>&1 &

这条命令拆开看:

部分含义
~/pycharm-2026.2.1/bin/pycharmPyCharm 的启动脚本
>/dev/null把标准输出丢弃(不在终端刷日志)
2>&1把错误输出也一起丢弃
&放到后台运行(终端不会被占住)

首先点击 Record new Macro 录制脚本:

image-20260902233318261

在右边粘贴启动命令,回车,最后点停止录制脚本。自己设一个脚本名称,例如 Pycharm 5070Ti-002。

之后连上这台服务器,点一下就能弹出 PyCharm 窗口。

image-20260902234344753

打开项目并选择正确的 Interpreter 解释器

PyCharm 启动后,选 Open,找到你的代码目录(比如 /data/code_lzq/dtrack/),打开即可。

首次打开会提示配置 Python Interpreter:

  1. 点右下角的 Python 版本 → Add New Interpreter → Add Local Interpreter
  2. 选择 Select Existing → Type: Conda
  3. 系统会自动解析 /opt/anaconda3/envs 已有的 Conda 环境,选择正确的环境名称即可。

image-20260902234539067

3. PyCharm 打断点调试

打断点

在你想暂停的那一行代码,点击行号左边的空白区域,会出现一个红色圆点——这就是断点。程序运行到这里会自动暂停。

以调试训练代码为例,入口方法应该是 lib/train/run_training.py:

/data/code_lzq/dtrack/lib/train/run_training.py --script ostrack_cascade --config dinov3l_384_lora_film_cascade --save_dir ./output

在 train_script 第55行,把行号点一下,可以看见红色的小圆点,断点就打好了。

image-20260902235519182

启动调试

在右上角点击这里的三个点,Edit,可以进入运行配置界面,在这里配置运行入口和参数。

image-20260902235847839

image-20260902235723366

配置好之后就可以直接点运行按钮或调试按钮。

单步执行

现在程序顺利在刚才断点出停了下了,可以看到下方的调试面板。

image-20260902235949743

有几个常用按钮:

image-20260903000102280

按钮快捷键作用
Step OverF8执行当前行,跳到下一行(不进入函数内部)
Step IntoF7进入当前行调用的函数内部
Step OutShift+F8从当前函数返回到调用处
ResumeF9继续运行,直到下一个断点

从左到右依次是:跳到下一个断点,下一行,下一步(任意代码),下一步(仅自己代码),查看断点。

暂停时,调试面板的 Variables 区域会显示当前作用域里所有变量的值,可以点进去查看。例如这里看到batch_size 是 8。

image-20260903000307285

在Console界面,还可以直接在当前环境执行额外代码,也是一种重要的调试手段。

image-20260903000438014