当前位置:首页>python>基于VSCode的Python环境开发

基于VSCode的Python环境开发

  • 2026-10-11 07:34:56
基于VSCode的Python环境开发

一、环境概览

采用 VSCode + Conda 的组合搭建Python开发环境:

组件
工具
说明
IDE
VSCode
轻量、可扩展,配合插件生态功能强大
包管理
conda
隔离性强,方便管理不同项目的Python版本和依赖
调试
debugpy
VSCode内置调试器,支持断点、条件断点、远程调试
格式化
Black
零配置的代码格式化工具
Lint
Ruff
极速Python linter,替代Flake8
类型检查
Pylance
基于Pyright的高性能语言服务器

二、Conda环境管理

2.1 安装Miniconda

mkdir -p ~/miniconda3wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.shbash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3rm ~/miniconda3/miniconda.sh~/miniconda3/bin/conda initsource ~/.bashrc

2.2 创建虚拟环境

# 创建环境(每个项目独立环境,避免依赖冲突)conda create -n myproject python=3.10 -y# 激活环境conda activate myproject# 查看已有环境conda env list

2.3 Conda安装CUDA/cuDNN

不同项目可能依赖不同CUDA版本,conda可以按环境独立管理:

# 查看可用版本conda search cudatoolkit --infoconda search cudnn --info# 安装指定版本(通过本地安装包,适用于离线环境)conda install --use-local /path/to/cudatoolkit-xxx.tar.bz2conda install --use-local /path/to/cudnn-xxx.tar.bz2# 或直接从源安装conda install cudatoolkit=11.8 -c conda-forgeconda install cudnn=8.9 -c conda-forge

2.4 安装深度学习框架

# PyTorch(以CUDA 11.8为例)pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118# 验证GPU可用性python -c "import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0))"

2.5 Conda配合pip

conda和pip可以混用,注意顺序:

# 先用conda安装大框架包conda install numpy pandas scipy# 再用pip安装PyPI特有的包pip install einops timm

三、VSCode核心配置

3.1 必装扩展

扩展
用途
Python
 (ms-python.python)
微软官方,集成IntelliSense、调试、测试
Pylance
 (ms-python.vscode-pylance)
高性能语言服务器,类型检查
Python Debugger
 (ms-python.debugpy)
调试支持
Black Formatter
 (ms-python.black-formatter)
代码格式化
Ruff
 (charliermarsh.ruff)
代码检查
One Dark Pro
颜色方案

3.2 settings.json 关键配置

{    // Conda 环境路径(根据实际环境调整)    "python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",    "python.terminal.activateEnvironment":true,    "python.terminal.executeInFileDir":true,    // 类型检查    "python.analysis.typeCheckingMode": "basic",    "python.analysis.autoImportCompletions":true,    "python.analysis.extraPaths": [        "${workspaceFolder}/src"    ],    // 保存时自动格式化    "[python]": {        "editor.formatOnSave":true,        "editor.codeActionsOnSave": {            "source.organizeImports": "explicit"        },        "editor.defaultFormatter": "ms-python.black-formatter"    },    // 自定义包路径(解决导入自定义模块报错)    "terminal.integrated.env.linux": {        "PYTHONPATH": "${workspaceFolder}/src"    },    // 编辑器行为    "editor.rulers": [88, 120],    "files.trimTrailingWhitespace":true,    "files.insertFinalNewline":true}

3.3 VSCode选择Conda环境

  1. 1. Ctrl+Shift+P → Python: Select Interpreter
  2. 2. 列表中会显示所有conda环境(如 Python 3.10 ('myproject': conda))
  3. 3. 选择对应的conda环境即可

如果未显示,可以在settings.json中手动添加路径:

"python.defaultInterpreterPath": "~/miniconda3/envs/myproject/bin/python"

四、调试配置

4.1 launch.json 配置

{    "version": "0.2.0",    "configurations": [        {            "name": "Python: 当前文件",            "type": "debugpy",            "request": "launch",            "program": "${file}",            "console": "integratedTerminal",            "justMyCode":true        },        {            "name": "Python: 带环境变量",            "type": "debugpy",            "request": "launch",            "program": "${file}",            "env": {                "PYTHONPATH": "${workspaceFolder}/src:${workspaceFolder}/lib"            },            "envFile": "${workspaceFolder}/.env"        }    ]}

4.2 调试Shell脚本启动的Python程序

当程序通过Shell脚本启动时,使用debugpy远程调试:

# 在Shell脚本中加入python -m debugpy --listen localhost:5678 --wait-for-client \    main.py \    --arg1 value1

然后在VSCode中配置attach调试:

{    "name": "Python: 附加到远程",    "type": "debugpy",    "request": "attach",    "connect": {        "host": "localhost",        "port": 5678    }}

五、代码质量工具链

5.1 安装

pip install black isort ruff mypy

5.2 pyproject.toml 配置

[tool.black]line-length = 88target-version = ["py310"][tool.isort]profile = "black"line_length = 88[tool.ruff]target-version = "py310"line-length = 88[tool.ruff.lint]select = ["E", "F", "W", "I", "N", "UP", "B", "SIM"]ignore = ["E501"][tool.mypy]python_version = "3.10"ignore_missing_imports = true

六、推荐项目结构

my-project/├── .venv/                    # 虚拟环境(不提交git)├── .vscode/│   ├── settings.json         # VSCode配置│   └── launch.json           # 调试配置├── src/│   └── my_package/│       ├── __init__.py│       ├── core.py│       └── utils.py├── tests/│   ├── __init__.py│   └── test_core.py├── .env                      # 环境变量(不提交git)├── .gitignore├── pyproject.toml            # 项目配置(统一管理格式化/lint/类型检查)├── requirements.txt          # 依赖└── README.md

七、常见问题

7.1 导入自定义模块报错

在 settings.json 或 launch.json 中配置 PYTHONPATH:

"terminal.integrated.env.linux": {    "PYTHONPATH": "${workspaceFolder}/src"}

7.2 Conda环境切换不生效

检查VSCode左下角是否显示了正确的Python解释器,或手动执行 Python: Select Interpreter。

7.3 保存格式化与Lint冲突

推荐工作流:Black格式化 → isort排序 → Ruff检查 → mypy类型检查(手动运行)


最新文章

随机文章