VSCode下配置python调试运行环境的方法


Posted in Python onApril 06, 2018

VSCode配置python调试环境

很久之前的一个东东,翻出来看看

  • VSCode配置python调试环境
    * 1.下载python解释器
    * 2.在VSCode市场中安装Python插件
    * 4.在用户设置里加两条
    * 5.接下来是正式的调试了
    • 1080 两个数的平方和
      • Input
      • Output
      • Input示例
      • Output示例

1.下载python解释器

python 3.6.3 for windows

安装到系统某个路径例如C:\Python36
最好添加到Path,也可以不加

2.在VSCode市场中安装Python插件

VSCode下配置python调试运行环境的方法

3.同样是打开一个文件夹,新建一个.py文件(这样容易识别项目,vscode就需要新建一个文件夹)
4.同样是launch.json文件和tasks.json文件

launch.josn

{
 // 使用 IntelliSense 了解相关属性。 
 // 悬停以查看现有属性的描述。
 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
 "version": "0.2.0",
 "configurations": [
  {
   "name": "Python",
   "type": "python",
   "request": "launch",
   "stopOnEntry": false,//是否在第一条语句时程序停止,下面的这个选项都一样
   "pythonPath": "C:/Python34/python",//可执行文件路径
   "program": "${file}",
   "cwd": "${workspaceRoot}",
   "env": {},
   "envFile": "${workspaceRoot}/.env",
   "debugOptions": [
    "WaitOnAbnormalExit",
    "WaitOnNormalExit",
    "RedirectOutput"
   ]
  },
  {
   "name": "PySpark",
   "type": "python",
   "request": "launch",
   "stopOnEntry": true,
   "osx": {
    "pythonPath": "${env:SPARK_HOME}/bin/spark-submit"
   },
   "windows": {
    "pythonPath": "${env:SPARK_HOME}/bin/spark-submit.cmd"
   },
   "linux": {
    "pythonPath": "${env:SPARK_HOME}/bin/spark-submit"
   },
   "program": "${file}",
   "cwd": "${workspaceRoot}",
   "env": {},
   "envFile": "${workspaceRoot}/.env",
   "debugOptions": [
    "WaitOnAbnormalExit",
    "WaitOnNormalExit",
    "RedirectOutput"
   ]
  },
  {
   "name": "Python Module",
   "type": "python",
   "request": "launch",
   "stopOnEntry": false,
   "pythonPath": "${config:python.pythonPath}",
   "module": "module.name",
   "cwd": "${workspaceRoot}",
   "env": {},
   "envFile": "${workspaceRoot}/.env",
   "debugOptions": [
    "WaitOnAbnormalExit",
    "WaitOnNormalExit",
    "RedirectOutput"
   ]
  },
  {
   "name": "Integrated Terminal/Console",
   "type": "python",
   "request": "launch",
   "stopOnEntry": false,
   "pythonPath": "${config:python.pythonPath}",
   "program": "${file}",
   "cwd": "",
   "console": "integratedTerminal",
   "env": {},
   "envFile": "${workspaceRoot}/.env",
   "debugOptions": [
    "WaitOnAbnormalExit",
    "WaitOnNormalExit"
   ]
  },
  {
   "name": "External Terminal/Console",
   "type": "python",
   "request": "launch",
   "stopOnEntry": false,
   "pythonPath": "${config:python.pythonPath}",
   "program": "${file}",
   "cwd": "",
   "console": "externalTerminal",
   "env": {},
   "envFile": "${workspaceRoot}/.env",
   "debugOptions": [
    "WaitOnAbnormalExit",
    "WaitOnNormalExit"
   ]
  },
  {
   "name": "Django",
   "type": "python",
   "request": "launch",
   "stopOnEntry": false,
   "pythonPath": "${config:python.pythonPath}",
   "program": "${workspaceRoot}/manage.py",
   "cwd": "${workspaceRoot}",
   "args": [
    "runserver",
    "--noreload",
    "--nothreading"
   ],
   "env": {},
   "envFile": "${workspaceRoot}/.env",
   "debugOptions": [
    "WaitOnAbnormalExit",
    "WaitOnNormalExit",
    "RedirectOutput",
    "DjangoDebugging"
   ]
  },
  {
   "name": "Flask",
   "type": "python",
   "request": "launch",
   "stopOnEntry": false,
   "pythonPath": "${config:python.pythonPath}",
   "program": "fully qualified path fo 'flask' executable. Generally located along with python interpreter",
   "cwd": "${workspaceRoot}",
   "env": {
    "FLASK_APP": "${workspaceRoot}/quickstart/app.py"
   },
   "args": [
    "run",
    "--no-debugger",
    "--no-reload"
   ],
   "envFile": "${workspaceRoot}/.env",
   "debugOptions": [
    "WaitOnAbnormalExit",
    "WaitOnNormalExit",
    "RedirectOutput"
   ]
  },
  {
   "name": "Flask (old)",
   "type": "python",
   "request": "launch",
   "stopOnEntry": false,
   "pythonPath": "${config:python.pythonPath}",
   "program": "${workspaceRoot}/run.py",
   "cwd": "${workspaceRoot}",
   "args": [],
   "env": {},
   "envFile": "${workspaceRoot}/.env",
   "debugOptions": [
    "WaitOnAbnormalExit",
    "WaitOnNormalExit",
    "RedirectOutput"
   ]
  },
  {
   "name": "Pyramid",
   "type": "python",
   "request": "launch",
   "stopOnEntry": true,
   "pythonPath": "${config:python.pythonPath}",
   "cwd": "${workspaceRoot}",
   "env": {},
   "envFile": "${workspaceRoot}/.env",
   "args": [
    "${workspaceRoot}/development.ini"
   ],
   "debugOptions": [
    "WaitOnAbnormalExit",
    "WaitOnNormalExit",
    "RedirectOutput",
    "Pyramid"
   ]
  },
  {
   "name": "Watson",
   "type": "python",
   "request": "launch",
   "stopOnEntry": true,
   "pythonPath": "${config:python.pythonPath}",
   "program": "${workspaceRoot}/console.py",
   "cwd": "${workspaceRoot}",
   "args": [
    "dev",
    "runserver",
    "--noreload=True"
   ],
   "env": {},
   "envFile": "${workspaceRoot}/.env",
   "debugOptions": [
    "WaitOnAbnormalExit",
    "WaitOnNormalExit",
    "RedirectOutput"
   ]
  },
  {
   "name": "Attach (Remote Debug)",
   "type": "python",
   "request": "attach",
   "localRoot": "${workspaceRoot}",
   "remoteRoot": "${workspaceRoot}",
   "port": 3000,
   "secret": "my_secret",
   "host": "localhost"
  }
 ]
}

tasks.json

{
  // See https://go.microsoft.com/fwlink/?LinkId=733558
  // for the documentation about the tasks.json format
  "version": "2.0.0",
  "tasks": [
   {
    "taskName": "echo",
    "type": "shell",
    "command": "C:\\Python34\\python",//Python可执行文件路径
    "args": ["${file}"]
   }
  ]
 }

4.在用户设置里加两条

settings.json

"python.pythonPath": "C:\\Python34\\python" ,//路径
 "python.linting.enabled": false,//忘了是什么东西了,反正有用

Linting (Prospector, Pylint, pycodestyle, Flake8, pylama, pydocstyle, mypy with config files and plugin

静态代码扫描(可以理解为代码语法和格式错误提示,支持多种linter)

5.接下来是正式的调试了

VSCode下配置python调试运行环境的方法

默认是Python选项
按\(<F5>\)启动调试
然后在

VSCode下配置python调试运行环境的方法

中有一些东西就是这样
但是这个默认的\(python\)选项并不能由用户输入
所以有

VSCode下配置python调试运行环境的方法

这个和下面的那个都可以
这个Intergrated……的选项是下图的东东

VSCode下配置python调试运行环境的方法

其实这个可以直接

VSCode下配置python调试运行环境的方法

直接当成cmd来用同样可以由用户输入
然后那个External……的选项只不过是开了一个控制台窗口

VSCode下配置python调试运行环境的方法

2333……
剩下的可以自己试试
说不定有惊喜

翻出很久之前做的一道题目
用py3写的
刚刚一直在用的test.py就是用的这道题的代码

1080 两个数的平方和

基准时间限制:1 秒 空间限制:131072 KB 分值: 5
给出一个整数N,将N表示为2个整数i j的平方和(i <= j),如果有多种表示,按照i的递增序输出。
例如:

(注:3 11同11 3算1种)

Input

一个数N()

Output

共K行:每行2个数,i j,表示
如果无法分解为2个数的平方和,则输出

Input示例

130

Output示例

3 11
7 9

Python 相关文章推荐
Django应用程序中如何发送电子邮件详解
Feb 04 Python
CentOS 7下安装Python 3.5并与Python2.7兼容并存详解
Jul 07 Python
python爬虫实战之最简单的网页爬虫教程
Aug 13 Python
Pandas中把dataframe转成array的方法
Apr 13 Python
tensorflow 使用flags定义命令行参数的方法
Apr 23 Python
Python3实现的判断回文链表算法示例
Mar 08 Python
Django自带日志 settings.py文件配置方法
Aug 30 Python
python模块常用用法实例详解
Oct 17 Python
python集成开发环境配置(pycharm)
Feb 14 Python
Python求解排列中的逆序数个数实例
May 03 Python
Python Excel vlookup函数实现过程解析
Jun 22 Python
超详细Python解释器新手安装教程
May 10 Python
如何使用VSCode愉快的写Python于调试配置步骤
Apr 06 #Python
详解django三种文件下载方式
Apr 06 #Python
Anaconda入门使用总结
Apr 05 #Python
致Python初学者 Anaconda入门使用指南完整版
Apr 05 #Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
Apr 05 #Python
Python批量合并有合并单元格的Excel文件详解
Apr 05 #Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
Apr 05 #Python
You might like
遍历指定目录下的所有目录和文件的php代码
2011/11/27 PHP
laravel安装zend opcache加速器教程
2015/03/02 PHP
解析WordPress中的post_class与get_post_class函数
2016/01/04 PHP
PHP常用日期加减计算方法实例小结
2018/07/31 PHP
实例分析10个PHP常见安全问题
2019/07/09 PHP
javascript实现unicode和字符的互相转换
2007/07/18 Javascript
关于js获取radio和select的属性并控制的代码
2011/05/12 Javascript
基于jquery的跟随屏幕滚动代码
2012/07/24 Javascript
jQuery输入城市查看地图使用介绍
2013/05/08 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
2016/03/01 Javascript
js实现文字截断功能
2016/09/14 Javascript
canvas压缩图片转换成base64格式输出文件流
2017/03/09 Javascript
详解用node.js实现简单的反向代理
2017/06/26 Javascript
js实现从左向右滑动式轮播图效果
2017/07/07 Javascript
不使用 JS 匿名函数理由
2017/11/17 Javascript
浅析Vue 生命周期
2018/06/21 Javascript
element上传组件循环引用及简单时间倒计时的实现
2018/10/01 Javascript
javascript实现日历效果
2019/06/17 Javascript
[53:03]Optic vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python如何读取MySQL数据库表数据
2017/03/11 Python
Python实现的破解字符串找茬游戏算法示例
2017/09/25 Python
Python实现对百度云的文件上传(实例讲解)
2017/10/21 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
2018/05/15 Python
Python函数中参数是传递值还是引用详解
2019/07/02 Python
python列表删除和多重循环退出原理详解
2020/03/26 Python
如何验证python安装成功
2020/07/06 Python
python中round函数保留两位小数的方法
2020/12/04 Python
利用CSS3实现进度条的两种姿势详解
2017/03/21 HTML / CSS
canvas裁剪clip()函数的具体使用
2018/03/01 HTML / CSS
阿根廷首家户外用品制造商和经销商:Montagne
2018/02/12 全球购物
政府领导干部个人对照检查材料思想汇报
2014/09/24 职场文书
2014年学校德育工作总结
2014/12/05 职场文书
2015年保险业务员工作总结
2015/05/27 职场文书
企业培训简报范文
2015/07/20 职场文书
golang import自定义包方式
2021/04/29 Golang
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
2021/06/04 Oracle