Visual Studio结合Git开发Python项目流程

轻辰君_1280

轻辰君_1280

2026-09-16

619人浏览

原创

visual studio克隆远程仓库时不会自动创建子文件夹,必须手动在路径中指定仓库名(如c:\projects\python_koans),否则文件直接铺平导致git窗格不激活、启动项报错;需右键设启动项并确认python环境绑定。

visual studio结合git开发python项目流程

克隆远程仓库时路径选错导致项目无法识别

Visual Studio 不像命令行 git clone 那样自动在目标路径下创建子文件夹,它会把代码直接解包到你指定的路径里。如果你填了 C:\projects,而仓库名是 python_koans,那所有文件会铺在 C:\projects\* 下,没有 C:\projects\python_koans 这层结构。

这会导致两个问题:一是“Git 更改”窗格可能不自动激活;二是后续右键设启动项时,contemplate-koans.py 可能不在根目录,VS 会报“找不到主模块”或运行后闪退。

  • 正确做法:路径务必填成 C:\projects\python_koans(手动补上仓库名)
  • 补救办法:如果已克隆错,删掉整个文件夹,重新克隆并显式带仓库名
  • 验证方式:克隆完成后,在“Git > 本地存储库”列表里看到的仓库名应与 GitHub 上一致

不设启动项就点运行,Python 文件被当成普通脚本执行

VS 默认不会猜哪个 .py 是入口。哪怕你只打开一个文件夹、里面只有一个 .py,它也不会自动设为启动项。直接按 Ctrl+F5,VS 会尝试运行当前活动编辑器里的文件——但此时工作目录可能是 VS 安装目录或用户目录,不是你的项目根目录,import 相对路径或 sys.path 操作全崩。

  • 必须右键目标文件(如 contemplate-koans.py),选“设置为启动项”
  • 如果该文件不在根目录(比如在 koans/ 子文件夹里),还需手动编辑 .vscode/launch.json 或 VS 的隐藏启动配置,加 "cwd": "${workspaceFolder}"
  • 启动项名称会显示在工具栏右侧,旁边有 Python 环境标识,确认它指向你预期的解释器

用 Git Bash 克隆和用 VS 内置克隆,提交行为不一致

VS 内置 Git 集成默认走 HTTPS 协议,每次 git push 都弹窗要输密码;而 Git Bash 若配过 SSH 密钥,就能免密提交。这不是 bug,是协议层差异。

GitClassic
GitClassic

快速、无JavaScript的GitHub浏览器,为AI代理优化。浏览公开仓库、读取文件、查看README,加载时间<500ms。PRO版通过GitHub OAuth支持私有仓库。

下载

更隐蔽的问题是:VS 的“同步更改”按钮本质是封装了 git pull && git push,但它不会拉取你本地终端里刚 git commit 的新提交——因为 VS 和 Bash 使用的是同一份本地仓库,但 VS 的 Git 状态缓存有时滞后。

  • 推荐做法:日常开发用 VS 做 pull / commit / 查看历史;批量操作或调试冲突时切 Git Bash 执行 git rebasegit log --graph
  • 避免混用:别在 VS 里 commit 一半,又去 Bash git add -A && git commit,容易触发“index.lock”错误
  • SSH 配置生效后,在 VS 的“克隆存储库”对话框里粘贴 SSH 地址(如 git@github.com:gregmalcolm/python_koans.git),就能免密推送

Python 环境没绑定到 Git 分支,切换分支后 pip install 失败

VS 的 Python 环境是按解决方案(.sln)或工作区绑定的,不是按 Git 分支。你在 main 分支装了 pytest,切到 feature/test-runner 后,如果该分支的 requirements.txt 里写的是 pytest==6.2.5,但当前环境是 pytest==7.4.0,VS 不会自动降级或重装。

更麻烦的是:VS 的“Python 环境”窗口里显示的包列表,其实是当前环境全局安装的包,不反映当前分支所需的依赖状态。

  • 安全做法:每个分支对应独立虚拟环境,用 python -m venv .venv-feature 创建,再在 VS 中通过“Python 环境”窗口 → “+” → “现有环境”指向它
  • 自动化建议:在项目根目录放 .python-version(供 pyenv)或 pyproject.toml(含依赖声明),配合 pre-commit hook 校验环境一致性
  • 临时排查:切换分支后,先在集成终端运行 pip install -r requirements.txt --force-reinstall,再刷新 VS 的 Python 环境列表
Git 和 Python 在 VS 里不是简单叠加,而是两套状态系统在共享磁盘文件。分支、环境、启动配置、工作目录——四个维度任意一个没对齐,运行结果就可能和预期差很远。尤其当团队协作时,别人推了一个新分支,你直接克隆 + 切过去,却忘了检查 requirements.txt 和启动项路径,问题就藏得特别深。

Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

python git visual studio

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

2023.07.20

1531

4

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

2023.07.25

3584

7

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.31

1549

3

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

2023.08.03

20357

23

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.04

2527

5

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.04

2587

5

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

1063

5

python合并两个列表
python合并两个列表

Python是一种强大的编程语言,具有许多方便的功能和工具。在Python中,有多种方法可以合并两个列表。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.10

576

4

python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2003

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程