vscode中设置Python解释器
以前在设置vscode中的Python解释器时都是采用图形化选择的方式来进行的,但是不知怎么的最近这个vscode在手动选择解释器时会出现时而好用时而不好用的情况,因此这里又给出了一种通过设置workspace下launch.json的方式。
说明一下本文假设vscode已经成功安装,系统中已经有了多个Python解释器,并且vscode中已经安装好Python的插件。
第一种,图形化设置Python解释器的方法:




===========================================
第二种,通过编写 launch.json 文件来设置Python解释器的方法:
以上是通过图形化界面来选择具体的Python解释器,但是发现有时候这个自动识别环境的解释器和具体设置的时候会出现问题,有的时候会出现设置不上的情况,于是不得已研究了一下配置项目launch.json文件来设置Python的解释器。
在主菜单上开始进行选择:
运行》添加配置
出现配置模式选择框,由于在vscode中会自动判定你项目的语言,由于项目中已经创建了.py文件,因此这个工作空间已经被判定为Python语言项目,因此这里我们可以看到出现的可供选择的配置模式中的Python File就是为Python语言项目提供的配置模板。

选择 Python File 配置:

可以看到在workspace空间下自动创建了.vscode文件夹,并且在 .vscode 文件夹下面自动创建了本项目的配置文件: launch.json 文件。

给出为Python项目生成的默认配置文件 launch.json 的具体内容:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"justMyCode": true
}
]
}
-----------------------------------------------------------------------------
需要注意的是这个项目空间下的launch.json文件既可以是按照上面的操作生成也可以手动在.vscode文件夹下面创建。
在上面创建的 launch.json文件中我们添加“Python”字段并设置解释器路径即可以实现Python解释器的指定,这里我个人的设置为:
--------------------------------

配置好后执行代码看下效果:

可以看到我们手动通过图形化界面指定的Python解释器为系统原生的,即/usr/bin/python3 ,但是这个Python环境下面并没有安装pytorch,同时我们在 launch.json 中指定了其他路径的带有pytorch的Python解释器,可以看到运行代码的时候现实pytorch是可见的。由此可知如果你同时在图形化界面中指定了Python解释器并且你还在launch.json中指定了Python解释器,那么最终vscode在执行代码时会优先使用launch.json中的Python解释器,这也是为什么如果在图形化指定Python解释器失效后我们可以通过手动编写 launch.json 文件来进行Python解释器的指定。
在launch.json中指定Python解释器的完整文件:
launch.json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"python": "/home/devil/PycharmProjects/py/bin/python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"justMyCode": true
}
]
}
=====================================
其他的事情:
虽然在上面的操作中我们通过在 launch.json 文件中指定Python解释器实现了在代码调试时优先与图形化界面中指定的Python解释器而被选择执行,但是我们如果细致的观察一下Python代码就会发现当图形化界面中指定的Python解释器不带有pytorch而launch.json中指定的Python解释器带有pytorch,虽然代码运行还是选择了launch.json中的Python解释器但是在代码编辑器中提示代码信息的Python解释器依然为图形化界面中所指定的,如下的代码中在代码编辑器中提示pytorch并不存在。
为此我们可以得到两个结论:
1. 在 launch.json 中指定Python解释器在代码执行时享有最高的权限,优于图形化界面中指定的Python解释器。
2. 不论是否在 launch.json 中指定Python解释器,在代码编辑窗口中对代码信息进行信息提示、补全等操作时所选择的Python解释器依然为图形化界面中所指定的。

=============================================
在vscode中创建 launch.json 更为简单的操作则是直接在主菜单中选择 运行和调试(也可以通过键盘操作,按键为: ctrl+shift+D),然后选择创建 launch.json 文件。

vscode中设置Python解释器的更多相关文章
- VScode中支持Python虚拟环境
要在VScode中使用Python的virtualenv虚拟环境,首先在设置同添加虚拟环境所在目录和虚拟环境的识别规则: { ... "python.venvPath": &quo ...
- VsCode中编写python环境配置
1. VsCode中编写python环境配置 1.1. 前言 有过开发经验都知道idea一系列的软件虽然功能比较多,但比较容易卡,电脑不好还真容易上火,这里我想要入门python,还是选了款vscod ...
- Windows系统中设置Python程序定时运行方法
Windows系统中设置Python程序定时运行方法 一.环境 win7 + Python3.6 二.步骤 1,在Windows开始菜单中搜索“计划任务”,并且点击打开“计划任务”: 2.点击“创建基 ...
- 如何在vscode中调试python scrapy爬虫
本文环境为 Win10 64bit+VS Code+Python3.6,步骤简单罗列下,此方法可以不用单独建一个Py入口来调用命令行 安装Python,从官网下载,过程略,这里主要注意将python目 ...
- 如何在sublime3项目设置中设置python模块的搜索路径?ImportError: No module named *的解决办法
问题:之前使用pycharm,用的挺溜,但是电脑配置实在不争气,pycharm启动久了,耗去大量内存,导致运行起来越来越慢,于是转向使用sublime text. 把项目从pycharm切换到subl ...
- Pycharm中选择Python解释器
新建项目后,有时候Pycharm找不到Python解释器,如果找不到的话,就会报错.报错信息: No python interpreter configured for the project 找到P ...
- 如何在 PyCharm 中设置 Python 代码模板
#!/usr/bin/env python # -*- coding: utf-8 -*- # Created by iFantastic on $DATE if __name__ == '__mai ...
- vscode中关闭python默认自动提示
vscode中python的默认自动代码提示工具是Jedi,我现在用的是kite.默认情况下连个自动补全工具会同时工作,提示窗口会重复出现相同的代码.以下操作可以关闭Jedi.
- ubuntu中设置python默认版本
看/usr/bin中的Python文件,发现该文件是python2.7的链接文件 于是直接删掉这个软链接,然后重新创建python2.6的链接文件: 1 rm /usr/bin/python 2 ln ...
- 如何在Windows系统中设置Python程序定时运行
文章出处:http://blog.csdn.net/wwy11/article/details/51100432 首先,我们肯定是要用到Windows下的[计划任务]功能 之后点击右侧的[创建基本任务 ...
随机推荐
- typescript class属性定义的先后问题
example e.g. 1 e.g. 2 e.g. 3 解释 在 typescript 中 定义一个 class class 的 constructor 里面的语句在转义成 JavaScript 之 ...
- Mysql慢sql优化
Mysql慢sql优化 index1.MySQL的执行过程2.索引的定义3.MySQL执行计划explain or desc4.索引使用/创建规则5.弊端6.设计规范7.SQL建议 1. MySQL ...
- C# 循环枚举
foreach (int eemun in Enum.GetValues(typeof(类名))) { string sName = Enum.GetName(typeof(类名), eemun);/ ...
- 【干货】Vue3 组件通信方式详解
前言 毫无疑问,组件通信是Vue中非常重要的技术之一,它的出现能够使我们非常方便的在不同组件之间进行数据的传递,以达到数据交互的效果.所以,学习组件通信技术是非常有必要的,本文将总结Vue中关于组件通 ...
- 机器学习(三)——K最临近方法构建分类模型(matlab)
K最临近(K-Nearest Neighbors,KNN)方法是一种简单且直观的分类和回归算法,主要用于分类任务.其基本原理是用到表决的方法,找到距离其最近的K个样本,然后通过K个样本的标签进行表决, ...
- python基础-数据容器的通用操作
五种数据容器的特性 列表list[] 元组tuple() 字符串str"" 集合set{} 字典dict{key:value} 元素数量 支持多个 支持多个 支持多 ...
- 详解Web应用安全系列(6)安全配置错误
Web攻击中的安全配置错误漏洞是一个重要的安全问题,它涉及到对应用程序.框架.应用程序服务器.Web服务器.数据库服务器等组件的安全配置不当.这类漏洞往往由于配置过程中的疏忽或错误,使得攻击者能够未经 ...
- 阿里云服务器Docket安装RabbitMQ 3.8.12
DocketMQ安装RabbitMQ 地址:https://hub.docker.com/ 拉取镜像 docker pull rabbitmq:3.8.12-management-alpine 运行 ...
- Mac下安装Redis,附可视化工具Medis
导读 我之前写过很多相关的redis的博文,有时候,为了开发,还得去虚拟机上搭建一个redis,感觉太麻烦了,为了做个demo,直接在自己mac本上安装一个即可. Redis 从入门到精通:点我直达 ...
- PHP函数http_build_query使用详解
什么是http_build_query? 使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串.参数 formdata 可以是数组或包含属性的对象.一个 formdata 数组 ...