网易首页 > 网易号 > 正文 申请入驻

Python 编辑器:Visual Studio Code(进阶篇)

0
分享至

对于进阶开发者,尤其是在团队协作环境中,除了 VS Code 的基本运行,还需要关注环境隔离、依赖管理、调试技巧、代码规范、版本控制与远程开发等方面。

一、虚拟环境与依赖管理

1、创建虚拟环境

在 Python 项目中,每个项目应使用独立的虚拟环境来管理依赖,避免不同项目之间的库冲突。

Windows(CMD):

python -m venv .venv
.\.venv\Scripts\activate.bat

Windows(PowerShell):

python -m venv .venv
.\.venv\Scripts\Activate.ps1

如首次执行报错,可运行:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

macOS/Linux:

python3 -m venv .venv
source .venv/bin/activate

激活后,终端前缀会显示 (.venv)。

提示:

虚拟环境目录常见写法有 .venv/ 或 venv/,本文示例统一使用 .venv/,需与 VS Code 配置保持一致。

2、在 VS Code 中选择或切换虚拟环境

打开命令面板(Ctrl + Shift + P)→ 输入 Python: Select Interpreter → 选择 ./.venv 对应的解释器。

VS Code 会自动在 .vscode/settings.json 中记录该解释器路径。

3、安装依赖

方法一:在 VS Code 终端中安装

推荐使用解释器绑定的 pip 安装:

python -m pip install requests matplotlib pandas black

方式 2:使用 requirements.txt

在项目根目录中创建 requirements.txt。

内容示例:

requests==2.31.0
pandas==1.5.3

安装(推荐同样使用解释器绑定的 pip):

python -m pip install -r requirements.txt

提示:

团队协作时尽量固定依赖版本,避免环境差异。

4、推荐的目录结构

my_project/
│
├── .git/              ← Git 版本控制
├── .vscode/           ← VS Code 项目配置
│   └── settings.json
├── .venv/             ← 虚拟环境
├── requirements.txt   ← 依赖清单
├── src/               ← 源代码
│   └── my_package/
│       ├── __init__.py
│       ├── module_a.py
│       └── module_b.py
└── tests/             ← 测试代码

.gitignore 示例:

# venv
.venv/
venv/

# Python
__pycache__/
*.py[cod]
*.pyo

# tooling / testing
.pytest_cache/
.mypy_cache/
.coverage
htmlcov/

# VS Code
.vscode/*
!.vscode/settings.json
!.vscode/launch.json
!.vscode/extensions.json

# env files
.env

5、进阶工具

(1)Poetry

更现代的依赖管理工具(基于 pyproject.toml)。

poetry add requests

(2)Conda

适合数据科学项目,便于管理科学计算库。

二、调试配置

VS Code 使用 .vscode/launch.json 来管理调试配置。

示例:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: main.py",
      "type": "python",
      "request": "launch",
      "program": "${workspaceFolder}/src/main.py",
      "console": "integratedTerminal",
      "cwd": "${workspaceFolder}",
      "args": ["--mode", "test", "--verbose"],
      "envFile": "${workspaceFolder}/.env",
      "justMyCode": true,
      "subProcess": true
    }
  ]
}

功能说明:

1、定义程序入口点、运行参数和调试方式。

2、可共享给团队,保证调试流程一致。

3、支持命令行参数、加载 .env 环境变量。

4、支持条件断点,仅在满足条件时中断。

三、项目设置

项目设置保存在 .vscode/settings.json 中,用于统一团队的开发体验。

示例:使用 Black 自动格式化代码。

1、安装 Black 库及插件

(1)在项目虚拟环境安装 black 库:

python -m pip install black

(2)在VS Code 的“扩展”面板中找到并安装“Black Formatter”插件。

只装 Black Formatter 插件,没有 Black 库 → 无法运行。

只装 Black 库,不装 Black Formatter 插件 → 可以用命令行格式化,但 VS Code 里没法一键调用。

2、设置保存文件时自动触发格式化

在项目下编辑 .vscode/settings.json 文件。

Windows:

{
  "python.defaultInterpreterPath": "${workspaceFolder}\\.venv\\Scripts\\python.exe",
  "editor.formatOnSave": true,
  "[python]": {
    "editor.defaultFormatter": "ms-python.black-formatter",
    "editor.formatOnSave": true
  },
  "editor.codeActionsOnSave": { "source.organizeImports": true },
  "python.testing.pytestEnabled": true,
  "python.testing.pytestArgs": ["-q", "tests"]
}

macOS / Linux:

{
  "python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
  "editor.formatOnSave": true,
  "[python]": {
    "editor.defaultFormatter": "ms-python.black-formatter",
    "editor.formatOnSave": true
  },
  "editor.codeActionsOnSave": { "source.organizeImports": true },
  "python.testing.pytestEnabled": true,
  "python.testing.pytestArgs": ["-q", "tests"]
}

3、补充工具

isort:自动整理 import 顺序。

flake8 / pylint:代码规范检查。

pytest:测试发现与运行。

统一风格配置(pyproject.toml):

[tool.black]
line-length = 100
target-version = ["py311"]

[tool.isort]
profile = "black"

四、Git 版本控制集成

VS Code 内置 Git 支持,可直接完成初始化、提交、分支、同步等操作。

1、初始化 Git 仓库

在 VS Code 左侧点击“源代码管理”图标 → 点击“初始化仓库”按钮。

或命令行执行:

git init

2、提交更改

在“源代码管理”面板中,勾选修改文件 → 输入提交信息 → 点击 ✓ 提交。

命令行:

git add .
git commit -m "初始化项目"

3、分支管理

左下角分支图标可切换/新建分支。

命令行:

git switch -c feature-x

4、远程仓库同步

添加远程地址:

git remote add origin https://github.com/username/repo.git

推送:

git push -u origin main

拉取:

git pull origin main

5、推荐插件

GitLens:查看提交历史、作者信息。

Git Graph:可视化分支结构。

如果出现“Author identity unknown”,可设置全局身份:

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

6、禁用 Git 集成

如果完全不需要 Git,可以在设置中加入:

"git.enabled": false

五、远程开发与容器支持

对于团队协作或需要统一环境的场景,推荐使用 Remote Development 插件:

Remote-SSH:在远程服务器上开发。

Dev Containers:通过 .devcontainer/devcontainer.json 定义开发容器,实现“一键构建统一环境”。

示例:

{
  "name": "Python Dev",
  "image": "python:3.11",
  "settings": {
    "python.defaultInterpreterPath": "/usr/local/bin/python"
  },
  "postCreateCommand": "python -m pip install --upgrade pip && python -m pip install -r requirements.txt",
  "customizations": {
    "vscode": {
      "extensions": [
        "ms-python.python",
        "ms-python.black-formatter",
        "ms-python.isort",
        "ms-python.vscode-pylance",
        "ms-azuretools.vscode-docker"
      ]
    }
  }
}

六、常见问题与解决方案

1、虚拟环境未被识别

Ctrl + Shift + P → Python: Select Interpreter → 选择 .venv。

2、pip 安装太慢

临时:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

全局配置:

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

小结

在 VS Code 中进行 Python 进阶开发,需要关注虚拟环境隔离与依赖管理,使用 launch.json 配置统一调试流程,通过 Black、isort、flake8 等工具保持一致的代码规范,并结合 Git 与远程开发容器实现团队协作与环境一致性。通过这些实践,既能避免依赖冲突,又能提升协作效率和项目质量。

点赞有美意,赞赏是鼓励

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
五五分流为什么分不下去了?背后的真相

五五分流为什么分不下去了?背后的真相

枫冷慕诗
2026-01-24 13:09:19
福州一安置房项目将原址重建,曾因地基下沉、楼体倾斜等成危房,业主集体退房

福州一安置房项目将原址重建,曾因地基下沉、楼体倾斜等成危房,业主集体退房

每日经济新闻
2026-01-24 22:45:05
中国队0-4日本队!球员赛后评分:6人不及格,王钰栋被提前换下

中国队0-4日本队!球员赛后评分:6人不及格,王钰栋被提前换下

何老师呀
2026-01-25 01:44:13
个税降了,2026年1月15日起执行

个税降了,2026年1月15日起执行

会计人
2026-01-25 12:03:57
被丈夫和闺蜜背叛女子回应“一夜白头”:一年打了13个官司,太耗费心血;很后悔托举丈夫

被丈夫和闺蜜背叛女子回应“一夜白头”:一年打了13个官司,太耗费心血;很后悔托举丈夫

扬子晚报
2026-01-25 17:36:27
超级世界波!亚马尔凌空侧钩破门,2026西甲首球,弗里克狂喜

超级世界波!亚马尔凌空侧钩破门,2026西甲首球,弗里克狂喜

奥拜尔
2026-01-26 01:03:11
为什么哈梅内伊进地堡的消息下面,评论区翻车了?

为什么哈梅内伊进地堡的消息下面,评论区翻车了?

走读新生
2026-01-25 18:57:45
独家调查|加拿大医生携幼女来沪求医,花16万元“保脾”!中国医疗不止性价比

独家调查|加拿大医生携幼女来沪求医,花16万元“保脾”!中国医疗不止性价比

第一财经资讯
2026-01-25 19:04:21
联合国通过调查伊朗镇压决议,中国投反对票

联合国通过调查伊朗镇压决议,中国投反对票

桂系007
2026-01-24 19:59:37
《太平年》开篇就吃人?张彦泽锅里煮的,是整个五代的人油味

《太平年》开篇就吃人?张彦泽锅里煮的,是整个五代的人油味

爱历史
2026-01-24 10:24:11
云南毒红薯升级!调查组介入,网友扒出黑幕,难怪商户敢主动投毒

云南毒红薯升级!调查组介入,网友扒出黑幕,难怪商户敢主动投毒

云舟史策
2026-01-24 16:14:54
孟鹤堂用半年商演的全部收入,买了件38万的蟒袍送给郭德纲。

孟鹤堂用半年商演的全部收入,买了件38万的蟒袍送给郭德纲。

荆楚寰宇文枢
2026-01-25 23:08:14
“牢A”说留学生私生活乱:澳洲女留学生说,她们交往三四个男友

“牢A”说留学生私生活乱:澳洲女留学生说,她们交往三四个男友

汉史趣闻
2026-01-24 18:33:30
倒计时!曝利物浦最快48小时更换主帅!欧洲名帅携顶级中卫来投

倒计时!曝利物浦最快48小时更换主帅!欧洲名帅携顶级中卫来投

头狼追球
2026-01-25 13:15:01
美国“退群”,加州“入群”

美国“退群”,加州“入群”

极目新闻
2026-01-24 18:34:19
队记:这应该是詹姆斯第一次意识到,自己已经不再受湖人高层欢迎

队记:这应该是詹姆斯第一次意识到,自己已经不再受湖人高层欢迎

移动挡拆
2026-01-25 06:41:41
绝不重蹈委内瑞拉覆辙,中国无视特朗普威胁,紧急援助运抵古巴!

绝不重蹈委内瑞拉覆辙,中国无视特朗普威胁,紧急援助运抵古巴!

boss外传
2026-01-25 00:00:03
不结婚怎么解决生理需求?56岁的歌唱家张也,用行动给出了答案

不结婚怎么解决生理需求?56岁的歌唱家张也,用行动给出了答案

秋姐居
2026-01-25 21:08:47
蒙古国首都骚乱再起,社会矛盾愈发尖锐,反华到底图啥

蒙古国首都骚乱再起,社会矛盾愈发尖锐,反华到底图啥

素衣读史
2026-01-24 17:12:53
中国共产党中央军事委员会副主席张升民简历

中国共产党中央军事委员会副主席张升民简历

上观新闻
2025-10-23 18:17:07
2026-01-26 01:23:00
MediaTea
MediaTea
专业的数字媒体、新媒体技术
1725文章数 72关注度
往期回顾 全部

科技要闻

黄仁勋在上海逛菜市场,可能惦记着三件事

头条要闻

男孩打碎电视屏为"还债"在小区创业 不到2个月赚了6千

头条要闻

男孩打碎电视屏为"还债"在小区创业 不到2个月赚了6千

体育要闻

中国足球不会一夜变强,但他们已经创造历史

娱乐要闻

央八开播 杨紫胡歌主演的40集大剧来了

财经要闻

隋广义等80人被公诉 千亿骗局进入末路

汽车要闻

别克至境E7内饰图曝光 新车将于一季度正式发布

态度原创

本地
教育
时尚
艺术
军事航空

本地新闻

云游中国|格尔木的四季朋友圈,张张值得你点赞

教育要闻

留学生的父母,有些话一直没说!

看了鲁豫对章小蕙的采访,最大感触是这一点

艺术要闻

这些肖像看完直呼“爽”!真是好久都没有看到了!

军事要闻

俄美乌三方首轮会谈细节披露

无障碍浏览 进入关怀版