0

0

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

星夢妙者

星夢妙者

发布时间:2025-08-29 11:21:01

|

1209人浏览过

|

来源于php中文网

原创

答案:在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免费学习笔记(深入)”;

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

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

  2. 通过编辑器直接运行:

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

    • 打开VSCode的集成终端(
      Ctrl+``
      或者从“View”菜单选择“Terminal”)。
    • 确保终端的当前工作目录是你Python脚本所在的目录。如果不是,用
      cd
      命令切换过去。
    • 直接输入
      python your_script.py
      并回车。这种方式的好处是,你可以带上各种命令行参数,或者在执行前先做一些环境设置。

调试Python代码

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

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

  2. 启动调试:

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

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

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

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

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

venv
conda
)里的。

选择解释器的正确姿势:

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

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

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

    MakeSong
    MakeSong

    AI音乐生成,生成高质量音乐,仅需30秒的时间

    下载
  3. 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
    .\.venv\Scripts\activate
    ),或者在
    launch.json
    中配置
    "justMyCode": false
    来确保调试器能正确进入虚拟环境。
  • 多版本Python冲突: 尤其是在macOS或Linux上,系统可能自带一个老版本的Python。确保你的VSCode指向的是你手动安装的、更新的Python版本。

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

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

  1. 条件断点 (Conditional Breakpoints):

    • 你有没有遇到过一个循环执行几千次,但你只关心某个特定条件下的迭代?普通断点会让你点到手软。
    • 右键点击断点,选择“Edit Breakpoint”,然后输入一个Python表达式。只有当这个表达式评估为
      True
      时,断点才会触发。比如,
      i == 100
      或者
      my_variable is None
      。这简直是调试大数据量或复杂逻辑时的救星。
  2. 日志点 (Logpoints):

    • 有时候你不想暂停程序,只想在某个点打印一些变量值,但又不想改动代码加
      print()
    • 右键点击断点,选择“Add Logpoint”。输入一个字符串,里面可以包含用大括号包起来的Python表达式,比如
      Value of x: {x}, y: {y}
      。程序执行到这里时,它会在调试控制台打印这条信息,但不会暂停执行。这比频繁地添加和删除
      print
      语句优雅多了。
  3. 变量观察 (Watch Expressions):

    • 在调试过程中,左侧的“变量”面板会显示当前作用域内的所有变量。但如果你有很多变量,或者只想关注某个表达式的值,比如
      len(my_list)
      ,那么“监视”面板就派上用场了。
    • 在“监视”面板中点击加号,输入你想观察的变量名或表达式。它会实时更新这些值,即使它们不在当前作用域的直接显示列表中。
  4. 修改变量值 (Changing Variable Values):

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

    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
      ,你可以为不同的场景创建不同的调试配置,避免每次调试都手动设置。
  6. 远程调试 (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本身的问题,而是环境、路径或代码逻辑上的疏忽。我个人就没少踩这些坑,所以总结一些常见的错误和对应的解决方案,希望能帮你少走弯路。

  1. 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的包规范。
  2. 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”)。确保整个项目都使用统一的缩进方式。
  3. 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')
            来构建相对于脚本文件本身的路径。
      • 文件路径拼写: 检查文件名和路径是否完全正确,包括大小写。
  4. PermissionError: [Errno 13] Permission denied: 'xxx.txt'

    • 问题描述: 你的Python脚本没有权限读取或写入某个文件或目录。
    • 解决方案:
      • 检查文件/目录权限:操作系统层面,确保你的用户账户对目标文件或目录有读写权限。在Linux/macOS上,可以使用
        ls -l
        chmod
        命令;在Windows上,右键文件/文件夹 -> 属性 -> 安全。
      • 避免在系统关键目录操作: 尽量不要尝试在系统盘根目录、程序文件目录等受保护的区域进行文件操作。
      • 临时解决方案(不推荐长期): 在Windows上,有时以管理员身份运行VSCode可以绕过权限问题,但这通常表明你的程序设计或文件存放位置有问题,不是一个好的长期方案。
  5. 解释器未找到或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里查看是否有更详细的错误信息。

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

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

418

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

535

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

311

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

77

2025.09.10

pip安装使用方法
pip安装使用方法

安装步骤:1、确保Python已经正确安装在您的计算机上;2、下载“get-pip.py”脚本;3、按下Win + R键,然后输入cmd并按下Enter键来打开命令行窗口;4、在命令行窗口中,使用cd命令切换到“get-pip.py”所在的目录;5、执行安装命令;6、验证安装结果即可。大家可以访问本专题下的文章,了解pip安装使用方法的更多内容。

339

2023.10.09

更新pip版本
更新pip版本

更新pip版本方法有使用pip自身更新、使用操作系统自带的包管理工具、使用python包管理工具、手动安装最新版本。想了解更多相关的内容,请阅读专题下面的文章。

412

2024.12.20

pip设置清华源
pip设置清华源

设置方法:1、打开终端或命令提示符窗口;2、运行“touch ~/.pip/pip.conf”命令创建一个名为pip的配置文件;3、打开pip.conf文件,然后添加“[global];index-url = https://pypi.tuna.tsinghua.edu.cn/simple”内容,这将把pip的镜像源设置为清华大学的镜像源;4、保存并关闭文件即可。

761

2024.12.23

python升级pip
python升级pip

本专题整合了python升级pip相关教程,阅读下面的文章了解更多详细内容。

349

2025.07.23

Python 自然语言处理(NLP)基础与实战
Python 自然语言处理(NLP)基础与实战

本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

10

2026.01.27

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
go语言零基础开发内容管理系统
go语言零基础开发内容管理系统

共34课时 | 2.6万人学习

第二十三期_前端开发
第二十三期_前端开发

共98课时 | 7.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号