VSCode怎么运行Python脚本_VSCode执行和调试Python代码的方法教程

答案:在VSCode中运行Python脚本需先安装Python及Python扩展,再通过命令面板选择正确的解释器,随后可点击右上角运行按钮或使用集成终端执行脚本,调试时可设置断点并利用调试控制条进行单步执行、变量监视等操作,常见问题如模块未找到、语法错误、文件路径错误等可通过检查环境配置、依赖安装和路径设置解决。

vscode怎么运行python脚本_vscode执行和调试python代码的方法教程

在VSCode里运行Python脚本,其实核心就是两件事:让VSCode知道用哪个Python解释器来执行你的代码,以及如何触发这个执行过程。最直接的方法就是利用VSCode内置的终端或者它强大的调试功能。只要你的Python环境配置得当,VSCode的Python扩展也安装了,那么无论是点击运行按钮,还是设置断点进行调试,都变得非常直观。

解决方案

要让VSCode顺利地跑起来你的Python代码,我们得先确保几个基础条件满足,然后才能谈到具体的执行和调试。

首先,你得确保系统里已经安装了Python,并且VSCode也已经装好。接着,最关键的一步是安装VSCode的“Python”扩展,这是微软官方出品的,它能提供代码补全、语法检查、调试等一系列功能。装好之后,重启一下VSCode通常是个好习惯。

运行Python脚本

立即学习“Python免费学习笔记(深入)”;

选择Python解释器: 这是第一步,也是最重要的一步。打开你的Python文件后,按

Ctrl+Shift+P

(macOS:

Cmd+Shift+P

) 调出命令面板,输入“Python: Select Interpreter”,然后从列表中选择你想要使用的Python版本。比如,你可能装了Python 3.8、3.9,或者某个虚拟环境里的Python,这里要选对。选错了解释器,轻则代码跑不起来,重则依赖包找不到,那可就麻烦了。

通过编辑器直接运行:

当你打开一个

.py

文件时,VSCode右上角通常会出现一个小的“播放”按钮(一个三角形)。点击它,VSCode就会在集成终端里运行你的脚本。或者,你可以在编辑器里右键点击,选择“Run Python File in Terminal”。这两种方式本质上都是在VSCode的集成终端里执行

python your_script.py

命令。

在集成终端中手动运行:

打开VSCode的集成终端(

Ctrl+``

或者从“View”菜单选择“Terminal”)。确保终端的当前工作目录是你Python脚本所在的目录。如果不是,用

cd

命令切换过去。直接输入

python your_script.py

并回车。这种方式的好处是,你可以带上各种命令行参数,或者在执行前先做一些环境设置。

调试Python代码

调试是找出代码问题、理解程序流程的利器。VSCode的Python调试功能非常强大。

设置断点: 在你想要暂停代码执行的行号左侧点击一下,会出现一个红点,这就是断点。程序运行到这里就会停下来。

启动调试:

点击VSCode左侧活动栏的“运行和调试”图标(一个带有播放按钮的虫子)。如果你是第一次调试,它会提示你选择一个调试配置。最简单的是选择“Python File”,它会直接运行当前打开的Python文件并进入调试模式。如果你需要更复杂的配置,比如传递命令行参数、设置环境变量、或者调试特定的模块,你可以选择“Add Configuration…”来生成一个

launch.json

文件。在这个文件里,你可以自定义各种调试选项。

调试控制:

程序在断点处暂停后,VSCode顶部会出现一个调试控制条:继续 (Continue): 运行到下一个断点或程序结束。单步跳过 (Step Over): 执行当前行,如果当前行是一个函数调用,则跳过函数内部,直接到下一行。单步调试 (Step Into): 如果当前行是一个函数调用,则进入函数内部进行调试。单步跳出 (Step Out): 从当前函数中跳出,回到调用它的地方。重启 (Restart): 重新启动调试会话。停止 (Stop): 停止调试。在调试过程中,你可以在左侧的“变量”面板查看当前作用域内的所有变量值,在“监视”面板添加你特别关心的变量,在“调用堆栈”面板查看函数调用链。这些工具能帮你清晰地了解程序运行时的状态。

如何确保VSCode正确识别我的Python环境?

这真的是个老生常谈的问题,但它又是如此关键,以至于我每次帮朋友解决VSCode Python问题时,第一步都是问:“你选对解释器了吗?”很多时候,代码没法运行,或者依赖包找不到,根源就在这里。

VSCode识别Python环境主要依赖于它安装的Python扩展。这个扩展会扫描你的系统,尝试找到所有已安装的Python解释器,包括那些在虚拟环境(如

venv

conda

)里的。

选择解释器的正确姿势:

命令面板大法: 最稳妥的方法是使用

Ctrl+Shift+P

(macOS:

Cmd+Shift+P

) 调出命令面板,然后输入“Python: Select Interpreter”。VSCode会列出它找到的所有Python解释器。这里你得仔细看看,确保选中了你项目所需的那个。比如,你的项目可能依赖Python 3.9,但你误选了系统自带的Python 3.8,那肯定会出问题。

虚拟环境的优先级: 如果你的项目使用了虚拟环境(强烈推荐!),那么在项目文件夹内打开VSCode时,Python扩展通常会智能地检测到这个虚拟环境,并将其推荐为默认解释器。如果没自动选上,你也可以通过上述命令面板手动选择。选择虚拟环境的好处是,项目的依赖包都安装在这个独立的环境里,不会污染全局Python,也不会与其他项目的依赖冲突。

settings.json

的幕后: 虽然现在VSCode更推荐通过UI来选择解释器,但了解其背后的机制也很有用。当你选择一个解释器后,VSCode会在你的工作区(

.vscode

文件夹下的

settings.json

)或用户设置中更新

"python.defaultInterpreterPath"

(或者更旧的

"python.pythonPath"

)这个配置项。这个路径就是VSCode用来启动Python进程的解释器路径。如果你遇到解释器选择上的怪异行为,检查这个文件有时能发现端倪。

可能遇到的坑:

找不到解释器: 确保Python已经正确安装,并且其路径被添加到了系统的环境变量PATH中。如果你使用的是Windows,安装Python时勾选“Add Python to PATH”非常重要。虚拟环境未激活: 有时候你虽然选择了虚拟环境的解释器,但终端里显示的还是全局Python。这通常是因为VSCode的终端默认没有“激活”虚拟环境。你可以在终端里手动运行虚拟环境的激活脚本(例如

source .venv/bin/activate

..venvScriptsactivate

),或者在

launch.json

中配置

"justMyCode": false

来确保调试器能正确进入虚拟环境。多版本Python冲突: 尤其是在macOS或Linux上,系统可能自带一个老版本的Python。确保你的VSCode指向的是你手动安装的、更新的Python版本。

VSCode调试Python时,有哪些高级技巧可以提升效率?

调试不仅仅是设置断点、单步执行那么简单。VSCode提供了很多高级调试功能,用好了能大大提升我们排查问题和理解代码的效率。在我看来,这些技巧才是真正让VSCode调试变得强大的地方。

条件断点 (Conditional Breakpoints):

你有没有遇到过一个循环执行几千次,但你只关心某个特定条件下的迭代?普通断点会让你点到手软。右键点击断点,选择“Edit Breakpoint”,然后输入一个Python表达式。只有当这个表达式评估为

True

时,断点才会触发。比如,

i == 100

或者

my_variable is None

。这简直是调试大数据量或复杂逻辑时的救星。

日志点 (Logpoints):

有时候你不想暂停程序,只想在某个点打印一些变量值,但又不想改动代码加

print()

。右键点击断点,选择“Add Logpoint”。输入一个字符串,里面可以包含用大括号包起来的Python表达式,比如

Value of x: {x}, y: {y}

。程序执行到这里时,它会在调试控制台打印这条信息,但不会暂停执行。这比频繁地添加和删除

print

语句优雅多了。

变量观察 (Watch Expressions):

在调试过程中,左侧的“变量”面板会显示当前作用域内的所有变量。但如果你有很多变量,或者只想关注某个表达式的值,比如

len(my_list)

,那么“监视”面板就派上用场了。在“监视”面板中点击加号,输入你想观察的变量名或表达式。它会实时更新这些值,即使它们不在当前作用域的直接显示列表中。

修改变量值 (Changing Variable Values):

调试时发现某个变量值不对,想临时改一下看看后续逻辑?在“变量”面板中,你可以直接双击一个变量的值,然后输入新值并回车。这能让你在不重启程序的情况下,快速测试不同的输入或状态。

自定义

launch.json

:深入调试配置

当你需要更精细的控制,比如传递命令行参数、设置环境变量、或者调试特定的模块时,

launch.json

是你的好朋友。点击调试面板顶部的齿轮图标,选择“Python File”,VSCode会为你生成一个

launch.json

文件。你可以添加多个配置(

configurations

数组),每个配置都有自己的

name

type

request

launch

用于启动,

attach

用于附加到已运行进程)、

program

(要运行的脚本)、

args

(命令行参数)、

cwd

(工作目录)、

env

(环境变量)等。例如,调试一个需要特定参数的脚本:

{    "name": "Run Script with Args",    "type": "python",    "request": "launch",    "program": "${file}", // 当前打开的文件    "args": ["--input", "data.txt", "--output", "result.csv"],    "console": "integratedTerminal"}

再比如,调试一个web应用,需要设置环境变量:

{    "name": "Debug Flask App",    "type": "python",    "request": "launch",    "module": "flask",    "env": {        "FLASK_APP": "app.py",        "FLASK_ENV": "development"    },    "args": ["run", "--no-debugger", "--no-reloader"],    "jinja": true,    "console": "integratedTerminal"}

通过

launch.json

,你可以为不同的场景创建不同的调试配置,避免每次调试都手动设置。

远程调试 (Remote Debugging):

如果你的Python代码运行在远程服务器、Docker容器或WSL中,你仍然可以使用VSCode进行调试。这通常涉及到在远程环境安装

debugpy

库,并在

launch.json

中配置一个

attach

类型的调试配置。例如,在远程机器上运行

python -m debugpy --listen 5678 --wait-for-client your_script.py

,然后在VSCode中配置:

{    "name": "Python: Remote Attach",    "type": "python",    "request": "attach",    "port": 5678,    "host": "localhost" // 或者远程服务器的IP}

这能让你在本地VSCode享受完整的调试体验,仿佛代码就在本地运行一样。

运行Python脚本时,常见的错误和解决方案是什么?

在VSCode里跑Python,虽然大多数时候都很顺滑,但总会遇到那么几个让你挠头的错误。这些错误往往不是VSCode本身的问题,而是环境、路径或代码逻辑上的疏忽。我个人就没少踩这些坑,所以总结一些常见的错误和对应的解决方案,希望能帮你少走弯路。

ModuleNotFoundError: No module named 'xxx'

问题描述: 这是最常见的错误之一,意味着Python解释器找不到你代码中

import

的某个模块或包。解决方案:检查依赖是否安装: 你是不是忘了

pip install xxx

?或者你的项目依赖文件

requirements.txt

里有,但你没运行

pip install -r requirements.txt

解释器选择是否正确: 确保VSCode当前使用的Python解释器是你安装了这些依赖的那个。比如,你可能在全局Python里装了

requests

,但VSCode却在用一个没有

requests

的虚拟环境。参考上面“如何确保VSCode正确识别我的Python环境?”部分。

sys.path

问题: 有时候是因为Python找不到你的模块文件。确保你的模块文件在Python的搜索路径中。如果你的脚本需要导入同目录下的其他模块,通常是没问题的。但如果是子目录或者其他地方,你可能需要调整

PYTHONPATH

环境变量,或者确保你的项目结构符合Python的包规范。

SyntaxError: invalid syntax

IndentationError: expected an indented block

问题描述: Python对语法和缩进要求非常严格。

SyntaxError

通常是写错了关键字、括号不匹配等;

IndentationError

则是因为缩进不一致(比如混用了空格和Tab,或者缩进层级不对)。解决方案:Linter提示: VSCode的Python扩展集成了Pylint、Flake8等Linter工具。它们会在你写代码的时候就标出这些语法错误,通常红色的波浪线或下划线很显眼。注意看这些提示。仔细检查代码: 尤其是在复制粘贴代码后,很容易引入隐藏的字符或错误的缩进。VSCode可以帮助你显示空白字符(

Ctrl+Shift+P

-> “Toggle Render Whitespace”)。统一缩进: 在VSCode底部状态栏,你可以看到当前文件的缩进方式(比如“Spaces: 4”)。确保整个项目都使用统一的缩进方式。

FileNotFoundError: [Errno 2] No such file or directory: 'xxx.txt'

问题描述: 你的Python脚本尝试打开或访问一个文件,但系统找不到这个文件。解决方案:相对路径与绝对路径: 当你用相对路径(比如

data.txt

)访问文件时,Python会从当前工作目录开始查找。确认当前工作目录: 在脚本中打印

import os; print(os.getcwd())

来查看程序运行时认为的当前工作目录是哪里。调整工作目录: 如果你的脚本在

/project/src/main.py

,而数据文件在

/project/data/data.txt

,那么直接在

main.py

里写

open('data/data.txt')

可能就会出错,因为相对路径是相对于

main.py

所在的目录。你可以:将VSCode的终端工作目录切换到

/project

。在

launch.json

中设置

cwd

字段,比如

"cwd": "${workspaceFolder}"

。使用

os.path.join(os.path.dirname(__file__), '..', 'data', 'data.txt')

来构建相对于脚本文件本身的路径。文件路径拼写: 检查文件名和路径是否完全正确,包括大小写。

PermissionError: [Errno 13] Permission denied: 'xxx.txt'

问题描述: 你的Python脚本没有权限读取或写入某个文件或目录。解决方案:检查文件/目录权限:操作系统层面,确保你的用户账户对目标文件或目录有读写权限。在Linux/macOS上,可以使用

ls -l

chmod

命令;在Windows上,右键文件/文件夹 -> 属性 -> 安全。避免在系统关键目录操作: 尽量不要尝试在系统盘根目录、程序文件目录等受保护的区域进行文件操作。临时解决方案(不推荐长期): 在Windows上,有时以管理员身份运行VSCode可以绕过权限问题,但这通常表明你的程序设计或文件存放位置有问题,不是一个好的长期方案。

解释器未找到或VSCode无法启动Python进程

问题描述: VSCode报告无法找到Python解释器,或者在尝试运行/调试时报错说无法启动Python进程。解决方案:Python是否正确安装并添加到PATH: 确保Python本身已经正确安装,并且其可执行文件(

python.exe

python3

)的路径在系统的环境变量PATH中。VSCode中重新选择解释器: 即使你之前选择过,有时环境变动后,VSCode可能会“忘记”。重新通过

Ctrl+Shift+P

-> “Python: Select Interpreter”来选择一次。重启VSCode: 有时候,简单的重启可以解决一些VSCode内部状态同步的问题。检查VSCode日志: 可以在“Help”菜单中找到“Toggle Developer Tools”,在Console里查看是否有更详细的错误信息。

这些错误虽然烦人,但大多数都有明确的解决方案。关键是理解错误信息背后的含义,并系统性地排查。一个良好的开发习惯,比如使用虚拟环境、定期检查依赖、注意文件路径,可以大大减少这些问题的发生。

以上就是VSCode怎么运行Python脚本_VSCode执行和调试Python代码的方法教程的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/17537.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月2日 21:03:16
下一篇 2025年12月2日 21:35:50

相关推荐

  • 如何解决本地图片在使用 mask JS 库时出现的跨域错误?

    如何跨越localhost使用本地图片? 问题: 在本地使用mask js库时,引入本地图片会报跨域错误。 解决方案: 要解决此问题,需要使用本地服务器启动文件,以http或https协议访问图片,而不是使用file://协议。例如: python -m http.server 8000 然后,可以…

    2025年12月24日
    200
  • CSS元素设置em和transition后,为何载入页面无放大效果?

    css元素设置em和transition后,为何载入无放大效果 很多开发者在设置了em和transition后,却发现元素载入页面时无放大效果。本文将解答这一问题。 原问题:在视频演示中,将元素设置如下,载入页面会有放大效果。然而,在个人尝试中,并未出现该效果。这是由于macos和windows系统…

    2025年12月24日
    200
  • 如何模拟Windows 10 设置界面中的鼠标悬浮放大效果?

    win10设置界面的鼠标移动显示周边的样式(探照灯效果)的实现方式 在windows设置界面的鼠标悬浮效果中,光标周围会显示一个放大区域。在前端开发中,可以通过多种方式实现类似的效果。 使用css 使用css的transform和box-shadow属性。通过将transform: scale(1.…

    2025年12月24日
    200
  • 如何用HTML/JS实现Windows 10设置界面鼠标移动探照灯效果?

    Win10设置界面中的鼠标移动探照灯效果实现指南 想要在前端开发中实现类似于Windows 10设置界面的鼠标移动探照灯效果,有两种解决方案:CSS 和 HTML/JS 组合。 CSS 实现 不幸的是,仅使用CSS无法完全实现该效果。 立即学习“前端免费学习笔记(深入)”; HTML/JS 实现 要…

    2025年12月24日
    000
  • 如何用前端实现 Windows 10 设置界面的鼠标移动探照灯效果?

    如何在前端实现 Windows 10 设置界面中的鼠标移动探照灯效果 想要在前端开发中实现 Windows 10 设置界面中类似的鼠标移动探照灯效果,可以通过以下途径: CSS 解决方案 DEMO 1: Windows 10 网格悬停效果:https://codepen.io/tr4553r7/pe…

    2025年12月24日
    000
  • 如何用前端技术实现Windows 10 设置界面鼠标移动时的探照灯效果?

    探索在前端中实现 Windows 10 设置界面鼠标移动时的探照灯效果 在前端开发中,鼠标悬停在元素上时需要呈现类似于 Windows 10 设置界面所展示的探照灯效果,这其中涉及到了元素外围显示光圈效果的技术实现。 CSS 实现 虽然 CSS 无法直接实现探照灯效果,但可以通过以下技巧营造出类似效…

    2025年12月24日
    000
  • 使用 Mask 导入本地图片时,如何解决跨域问题?

    跨域疑难:如何解决 mask 引入本地图片产生的跨域问题? 在使用 mask 导入本地图片时,你可能会遇到令人沮丧的跨域错误。为什么会出现跨域问题呢?让我们深入了解一下: mask 框架假设你以 http(s) 协议加载你的 html 文件,而当使用 file:// 协议打开本地文件时,就会产生跨域…

    2025年12月24日
    200
  • 为什么在 React 组件中无法获得 Tailwind CSS 语法提示?

    为什么在 React 组件中无法获得 Tailwind CSS 语法提示? 你在 VSCode 中编写 HTML 文件时,可以正常获取 Tailwind CSS 语法提示。但当你尝试在 React 组件中编写 Tailwind CSS 时,这些提示却消失不见了。这是什么原因造成的? 解决方案 要解决…

    2025年12月24日
    000
  • 如何在 VSCode 中为 React 组件启用 Tailwind CSS 提示?

    在 vscode 中为 react 组件启用 tailwind css 提示 如果你在使用 vscode 编写 react 组件时,发现 tailwind css 提示无法正常显示,这里有一个解决方法: 安装 tailwind css intellisense 插件 这是实现代码提示的关键,确保你已…

    2025年12月24日
    200
  • Vue3 中如何将页面上的 PX 单位转换为 REM?

    vue3 下如何实现某个页面 px 自适应到 rem? 在 vue3 中,您可以在某个页面中使用 px 转 rem 的自适应功能,以免影响其他项目 ui 框架。以下是实现方法: 使用 jquery 获取页面宽度,并将其作为基准值。例如,使用 375 作为基准,您可以在页面 mounted 生命周期函…

    2025年12月24日
    000
  • 如何实现 Vue 3 项目中特定页面自适应,避免影响全局 UI 框架?

    自适应页面 px 到 rem 插件探索 在 vue 3 项目中,开发者有时需要让某个特定页面具有自适应大小,即根据不同分辨率自动调整 px 到 rem 的转换。然而,传统的 px-to-rem 插件可能会影响整个项目的 ui 框架。 为了解决这个问题,这里提供了一种利用 javascript 和 v…

    2025年12月24日
    000
  • Vue 3 页面如何实现 px to rem 自适应?

    如何在 vue 3 页面中实现 px to rem 自适应? 在 vue 项目中,有时需要让特定的页面进行 px to rem 自适应,以实现自动缩放。以下是一个可用的解决方案: 使用 javascript 获取页面宽度,并以 375px 作为基准值。例如: let appwidth = $(‘#a…

    2025年12月24日
    400
  • CSS 砌体 Catness

    css 就像技术中的其他东西一样 – 它总是在变化和发展。该领域正在进行的开发是 css 网格布局模块级别 3,也称为 css masonry 布局。 theo 制作了一段视频,介绍了它的开发方式以及苹果和谷歌就如何实施它进行的辩论。 所有这些让我很高兴尝试 css 砌体! webkit…

    好文分享 2025年12月24日
    000
  • 苹果浏览器网页背景图色差问题:如何解决背景图不一致?

    网页背景图在苹果浏览器上出现色差 一位用户在使用苹果浏览器访问网页时遇到一个问题,网页上方的背景图比底部的背景图明显更亮。 这个问题的原因很可能是背景图没有正确配置 background-size 属性。在 windows 浏览器中,背景图可能可以自动填满整个容器,但在苹果浏览器中可能需要显式设置 …

    2025年12月24日
    400
  • 苹果浏览器网页背景图像为何色差?

    网页背景图像在苹果浏览器的色差问题 在不同浏览器中,网站的背景图像有时会出现色差。例如,在 Windows 浏览器中显示正常的上层背景图,在苹果浏览器中却比下层背景图更亮。 问题原因 出现此问题的原因可能是背景图像未正确设置 background-size 属性。 解决方案 为确保背景图像在不同浏览…

    2025年12月24日
    500
  • 苹果电脑浏览器背景图亮度差异:为什么网页上下部背景图色差明显?

    背景图在苹果电脑浏览器上亮度差异 问题描述: 在网页设计中,希望上部元素的背景图与页面底部的背景图完全对齐。而在 Windows 中使用浏览器时,该效果可以正常实现。然而,在苹果电脑的浏览器中却出现了明显的色差。 原因分析: 如果您已经排除屏幕分辨率差异的可能性,那么很可能是背景图的 backgro…

    2025年12月24日
    000
  • Bear 博客上的浅色/深色模式分步指南

    我最近使用偏好颜色方案媒体功能与 light-dark() 颜色函数相结合,在我的 bear 博客上实现了亮/暗模式切换。 我是这样做的。 第 1 步:设置 css css 在过去几年中获得了一些很酷的新功能,包括 light-dark() 颜色函数。此功能可让您为任何元素指定两种颜色 &#8211…

    2025年12月24日
    100
  • 如何在 Web 开发中检测浏览器中的操作系统暗模式?

    检测浏览器中的操作系统暗模式 在 web 开发中,用户界面适应操作系统(os)的暗模式设置变得越来越重要。本文将重点介绍检测浏览器中 os 暗模式的方法,从而使网站能够针对不同模式调整其设计。 w3c media queries level 5 最新的 web 标准引入了 prefers-color…

    2025年12月24日
    000
  • 如何使用 CSS 检测操作系统是否处于暗模式?

    如何在浏览器中检测操作系统是否处于暗模式? 新发布的 os x 暗模式提供了在 mac 电脑上使用更具沉浸感的用户界面,但我们很多人都想知道如何在浏览器中检测这种设置。 新标准 检测操作系统暗模式的解决方案出现在 w3c media queries level 5 中的最新标准中: 立即学习“前端免…

    2025年12月24日
    000
  • 如何检测浏览器环境中的操作系统暗模式?

    浏览器环境中的操作系统暗模式检测 在如今科技的海洋中,越来越多的设备和软件支持暗模式,以减少对眼睛的刺激并营造更舒适的视觉体验。然而,在浏览器环境中检测操作系统是否处于暗模式却是一个令人好奇的问题。 检测暗模式的标准 要检测操作系统在浏览器中是否处于暗模式,web 开发人员可以使用 w3c 的媒体查…

    2025年12月24日
    200

发表回复

登录后才能评论
关注微信