以前在设置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": "/home/devil/PycharmProjects/py/bin/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解释器的更多相关文章

  1. VScode中支持Python虚拟环境

    要在VScode中使用Python的virtualenv虚拟环境,首先在设置同添加虚拟环境所在目录和虚拟环境的识别规则: { ... "python.venvPath": &quo ...

  2. VsCode中编写python环境配置

    1. VsCode中编写python环境配置 1.1. 前言 有过开发经验都知道idea一系列的软件虽然功能比较多,但比较容易卡,电脑不好还真容易上火,这里我想要入门python,还是选了款vscod ...

  3. Windows系统中设置Python程序定时运行方法

    Windows系统中设置Python程序定时运行方法 一.环境 win7 + Python3.6 二.步骤 1,在Windows开始菜单中搜索“计划任务”,并且点击打开“计划任务”: 2.点击“创建基 ...

  4. 如何在vscode中调试python scrapy爬虫

    本文环境为 Win10 64bit+VS Code+Python3.6,步骤简单罗列下,此方法可以不用单独建一个Py入口来调用命令行 安装Python,从官网下载,过程略,这里主要注意将python目 ...

  5. 如何在sublime3项目设置中设置python模块的搜索路径?ImportError: No module named *的解决办法

    问题:之前使用pycharm,用的挺溜,但是电脑配置实在不争气,pycharm启动久了,耗去大量内存,导致运行起来越来越慢,于是转向使用sublime text. 把项目从pycharm切换到subl ...

  6. Pycharm中选择Python解释器

    新建项目后,有时候Pycharm找不到Python解释器,如果找不到的话,就会报错.报错信息: No python interpreter configured for the project 找到P ...

  7. 如何在 PyCharm 中设置 Python 代码模板

    #!/usr/bin/env python # -*- coding: utf-8 -*- # Created by iFantastic on $DATE if __name__ == '__mai ...

  8. vscode中关闭python默认自动提示

    vscode中python的默认自动代码提示工具是Jedi,我现在用的是kite.默认情况下连个自动补全工具会同时工作,提示窗口会重复出现相同的代码.以下操作可以关闭Jedi.

  9. ubuntu中设置python默认版本

    看/usr/bin中的Python文件,发现该文件是python2.7的链接文件 于是直接删掉这个软链接,然后重新创建python2.6的链接文件: 1 rm /usr/bin/python 2 ln ...

  10. 如何在Windows系统中设置Python程序定时运行

    文章出处:http://blog.csdn.net/wwy11/article/details/51100432 首先,我们肯定是要用到Windows下的[计划任务]功能 之后点击右侧的[创建基本任务 ...

随机推荐

  1. 解决Mixed Content:the page at‘https://' was loaded over HTTPS,but requested an insecure resource 'http://'

    问题:在Vue项目中使用axios访问了一个http协议的接口,报错如下 查资料后发现原因是在https中请求http接口或引入http资源都会被直接blocked(阻止),浏览器默认此行为不安全,会 ...

  2. STM32的内存管理(转)

    背景 这里针对STM32F407芯片+1M外部内存的内存管理!(全篇是个人愚见,如果错误,请不吝指出!) 定义 首先,定义3个内存池,分别是内部SRAM,外表SRAM和CCM:通过指定内存中的绝对地址 ...

  3. Python性能测试框架:Locust实战教程

    01认识Locust Locust是一个比较容易上手的分布式用户负载测试工具.它旨在对网站(或其他系统)进行负载测试,并确定系统可以处理多少个并发用户,Locust 在英文中是 蝗虫 的意思:作者的想 ...

  4. IIS部署错误HTTP Error 500.36 ASP.NET Core IIS hosting failure(out-of-process)

    错误提示 HTTP Error 500.36 - ASP.NET Core IIS hosting failure (out-of-process) The out of process reques ...

  5. [HDCTF 2023]BabyMisc

    BabyMisc ...脑洞坑题(如果7z密码不是那一串超长字符串真不至于0解) 先打开Script.zip,随便打开一个文件夹,得到的是pxx的文件,内容为16进制字节.猜测pxx为对应字节的位置 ...

  6. VUE商城项目 -商品列表功能 - 手稿

  7. 一套基于 Ant Design 和 Blazor 的开源企业级组件库

    前言 今天大姚给大家分享一套基于Ant Design和Blazor的开源(MIT License).免费的企业级组件库(喜欢Ant Design风格的同学推荐使用):Ant Design Blazor ...

  8. ES6拼接数组与小程序本地存储

    拼接数组 ES6扩展运算符[三个点(...)将一个数组转为用逗号分隔的参数序列] goodsList: [...goodsList, ...goods] 本地存储 // 把接口数据存入本地存储中 wx ...

  9. PixiJS源码分析系列: 第一章 从最简单的例子入手

    从最简单的例子入手分析 PixiJS 源码 我一般是以使用角度作为切入点查看分析源码,例子中用到什么类,什么方法,再入源码. 高屋建瓴的角度咱也做不到啊,毕竟水平有限 pixijs 的源码之前折腾了半 ...

  10. Java 网络编程(TCP编程 和 UDP编程)

    1. Java 网络编程(TCP编程 和 UDP编程) @ 目录 1. Java 网络编程(TCP编程 和 UDP编程) 2. 网络编程的概念 3. IP 地址 3.1 IP地址相关的:域名与DNS ...