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 相关文章推荐
python统计一个文本中重复行数的方法
Nov 19 Python
python制作websocket服务器实例分享
Nov 20 Python
Python中str is not callable问题详解及解决办法
Feb 10 Python
新手如何快速入门Python(菜鸟必看篇)
Jun 10 Python
python中update的基本使用方法详解
Jul 17 Python
python处理自动化任务之同时批量修改word里面的内容的方法
Aug 23 Python
python 字符串常用方法汇总详解
Sep 16 Python
wxPython实现整点报时
Nov 18 Python
python飞机大战 pygame游戏创建快速入门详解
Dec 17 Python
Python调用.NET库的方法步骤
Dec 27 Python
Python3爬虫带上cookie的实例代码
Jul 28 Python
Scrapy+Selenium自动获取cookie爬取网易云音乐个人喜爱歌单
Feb 01 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
一个捕获函数输出的函数
2007/02/14 PHP
phpmailer中文乱码问题的解决方法
2014/04/22 PHP
php使用curl实现ftp文件下载功能
2017/05/16 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
表单内同名元素的控制
2006/11/22 Javascript
baidu博客的编辑友情链接的新的层窗口!经典~支持【FF】
2007/02/09 Javascript
jquery tools之tabs 选项卡/页签
2009/07/25 Javascript
IE8 下的Js错误HTML Parsing Error...
2009/08/14 Javascript
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
2012/01/13 Javascript
Prototype源码浅析 String部分(三)之HTML字符串处理
2012/01/15 Javascript
javascript限制文本框只允许输入数字(曾经与现在的方法对比)
2013/01/18 Javascript
由点击页面其它地方隐藏div所想到的jQuery的delegate
2013/08/29 Javascript
javascript实现浏览器窗口传递参数的方法
2014/09/03 Javascript
深入探寻seajs的模块化与加载方式
2015/04/14 Javascript
jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点
2015/12/01 Javascript
深入解析JavaScript框架Backbone.js中的事件机制
2016/02/14 Javascript
聊一聊JavaScript作用域和作用域链
2016/05/03 Javascript
基于JavaScript实现前端文件的断点续传
2016/10/17 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
vue.js计算属性computed用法实例分析
2018/07/06 Javascript
JS构造一个html文本内容成文件流形式发送到后台
2018/07/31 Javascript
[05:31]DOTA2英雄梦之声_第08期_莉娜
2014/06/23 DOTA
[54:18]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第一场 1月22日
2021/03/11 DOTA
Python机器学习库scikit-learn安装与基本使用教程
2018/06/25 Python
Python 获取ftp服务器文件时间的方法
2019/07/02 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
2020/05/12 Python
Django REST Swagger实现指定api参数
2020/07/07 Python
CSS3 制作旋转的大风车(充满童年回忆)
2013/01/30 HTML / CSS
详解HTML5中div和section以及article的区别
2015/07/14 HTML / CSS
澳大利亚香水在线商店:City Perfume
2020/09/02 全球购物
Java中的类包括什么内容?设计时要注意哪些方面
2012/05/23 面试题
技校教师求职简历的自我评价
2013/10/20 职场文书
大学生职业生涯规划书范文
2014/01/14 职场文书
家长会主持词开场白
2014/03/18 职场文书
实习单位鉴定意见
2015/06/04 职场文书
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB