傻瓜级Venv+VsCode调试(Release和Debug两种模式)配置教程(含常见问题解决办法)

1. Python版本

1.1 弄清需要的Python版本

知道自己要运行的项目的python版本,下载对应版本并安装。
这里的版本指3.7, 3.8, 3.11等。
对于github项目,一般会在requirement.txt里明确列出。

下载安装该版本的Python。

一般来说,Python小版本的差异不会影响Python项目的运行,比如3.7.2和3.7.11不会兼容性问题。不过如果是重新安装一个新的版本Python的话,不妨顺便把小版本也控制到一致。

1.2 已安装Python版本的路径搜索

比较简单的方法是安装一个Everything,然后搜索python37,python311之类。
如果受限于Everything的非商用版权,不可以安装。
则根据我的经验,常见的路径有二:
C:\Program Files\Python\Python37
或者
C:\Users\xiaoyaopan\AppData\Local\Programs\Python\Python37

2. venv环境的创建

以管理员权限进入CMD窗口(安装Python前,已经打开的CMD窗口,请关闭,重新打开),然后运行如下代码:

D:\Program_Files\Python\Python37\python -m venv D:\PxyAI\Yolo5FaceDet

前面的运行路径“D:\Program_Files\Python\Python37\python”,请根据实际情况调整。

这个时候,应该可以在目录“D:\PxyAI\Yolo5FaceDet“下面,看到一个文件叫 pyvenv.cfg
用notepad++打开(txt也一样),应该会看到如下的5行内容(路径会根据实际情况变化)

home = D:\Program Files\Python\Python37
include-system-site-packages = false
version = 3.7.9
executable = D:\Program Files\Python\Python37\python.exe
command = D:\Program Files\Python\Python37\python.exe -m venv D:\PxyAI\Yolo5FaceDet

有时,这个文件里会只有三行内容(如果有5行,恭喜,可以直接看第3章)。

home = D:\Program Files\Python\Python37
include-system-site-packages = false
version = 3.7.9

这个情况的成因我尚不清楚,但后果我已经试验过了。在创建venv的这个环境中,不影响任何使用。但当将这个venv变换一个路径(比如拷贝到另一个电脑上),缺少的后面两行就会影响使用。鉴于使用venv的一大诉求就是整个环境可以换地方,所以建议手动将缺少的两行补上(当然路径需要自己调整)

3. venv环境的激活与lib安装

cmd窗口进入一下路径

(虚拟环境所在目录)/Scripts/bin

Linux/Mac用source activate,Windows用activate.bat激活该venv环境
如果cmd窗口显示如下:

(环境名称) bin$

说明激活成功了。
接下来就是pip安装python库了,此时安装的库,就会安装到这个虚拟环境下。

4. venv环境的移动

如果venv环境(也就是对应的文件夹)路径发生了变化,亦或者Python的安装路径都换了。则可以修改配置文件pyvenv.cfg 中的对应路径即可。

常见问题4.1

当venv环境移动后,vscode无法再调试对应的Python项目了(一般会vscode会报出“Invalid Interpreter”,或者f5的时候直接没反应),此时注意两个要点:

  1. .cfg文件的路径一定要有效,合理。
  2. 正确修改.cfg文件后,需要重启一下vscode,否则修改无法生效。

5. VsCode通过venv运行Python代码的方法

a. VsCode 用Open Folder的方式打开项目文件夹

Release模式

也就是VsCode右上方的播放键(如果布局没改过),则需要在VsCode的cmd窗口激活venv环境,激活方式和第3章相同,只是从windows的cmd窗口换到了VsCode的cmd窗口。

DeBug 模式

也就是F5大法。
使用快捷键ctrl-shift-p(同时按下ctrl-shift不要松开,再按下p)
选择venv路径下的Scripts/python.exe作为解释器

常见问题5.1:VsCode自己无权限激活虚拟环境

问题:运行界面报错:
D:\PxyAI\Yolo5FaceDet\Scripts\Activate.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。

原因:在VsCode的TERMINAL窗口中,输入

get-ExecutionPolicy

会返回:Restricted,这就是报错的原因,

解决方法:在VsCode的TERMINAL窗口中,输入

set-ExecutionPolicy RemoteSigned -Scope CurrentUser

此时再输入

get-ExecutionPolicy

则返回的状态变成了:RemoteSigned。
问题就解决了。

常见问题5.2:F5调试在断点上停不下来

打开launch.json文件,打开的方法是点击一个VsCode界面上一个齿轮状的图标(如下图所示)
在这里插入图片描述

在 launch.json文件中添加 “justMyCode“ : false,注意在上一行尾巴添加逗号,就像C++ 枚举类 一样(如下图所示)
在这里插入图片描述

  • 22
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值