书生浦语实战训练营第四期任务二:Leetcode 383和Vscode连接InternStudio debug笔记
文章目录
- 书生浦语实战训练营第四期任务二:Leetcode 383和Vscode连接InternStudio debug笔记
- 前言
- 一、Leetcode 383
- 二、Vscode连接InternStudio debug笔记
- 总结
前言
书生浦语实战训练营第四期,海量算力以及许多实战知识等你来获取,微信扫描二维码即可参与,免费A100算力等你来获取:
python基础
一、Leetcode 383
代码如下:
class Solution:
def canConstruct(self, ransomNote: str, magazine: str) -> bool:
mp = [0] * 26
for i in magazine:
mp[ord(i) - ord('a')] += 1
for i in ransomNote:
mp[ord(i) - ord('a')] -= 1
if mp[ord(i) - ord('a')] < 0:
return False
return True
二、Vscode连接InternStudio debug笔记
1.创建并激活虚拟环境
conda create --name myenv python=3.9
conda activate myenv
2.使用pip安装指定包
在Python开发中,安装和管理第三方包是日常任务。pip是Python官方的包管理工具,全称为“Python Package Installer”,用于方便地安装、升级和管理Python包。
注意在使用conda的时候,我们需要先激活我们要用的虚拟环境,再在激活的虚拟环境中,使用pip来安装包。pip安装包的命令为pip install。
pip install <somepackage> # 安装单个包,<somepackage>替换成你要安装的包名
pip install pandas numpy # 安装多个包,如panda和numpy
pip install numpy==2.0 # 指定版本安装
pip install numpy>=1.19,<2.0 # 使用版本范围安装
如果你有一个包含所有依赖信息的requirements.txt文件,可以使用-r一次性安装所有依赖。requirements.txt在各种开源代码中经常可以看到,里面描述了运行该代码所需要的包和对应版本。
pip install -r requirements.txt
为了节省大家的存储空间,本次实战营可以直接使用share目录下的conda环境,但share目录只有读权限,所以要安装额外的包时我们不能直接使用pip将包安装到对应环境中,需要安装到我们自己的目录下。
这时我们在使用pip的时候可以使用–target或-t参数来指定安装目录,此时pip会将你需要安装的包安装到你指定的目录下。
这里我们用本次实战营最常用的环境/root/share/pre_envs/pytorch2.1.2cu12.1来举例。
# 首先激活环境
conda activate /root/share/pre_envs/pytorch2.1.2cu12.1
# 创建一个目录/root/myenvs,并将包安装到这个目录下
mkdir -p /root/myenvs
pip install <somepackage> --target /root/myenvs
# 注意这里也可以使用-r来安装requirements.txt
pip install -r requirements.txt --target /root/myenvs
要使用安装在指定目录的python包,可以在python脚本开头临时动态地将该路径加入python环境变量中去
import sys
# 你要添加的目录路径
your_directory = '/root/myenvs'
# 检查该目录是否已经在 sys.path 中
if your_directory not in sys.path:
# 将目录添加到 sys.path
sys.path.append(your_directory)
# 现在你可以直接导入该目录中的模块了
# 例如:import your_module
三、 使用本地Vscode连接InternStudio开发机
上一章有详细内容,如何使用vscode远程连接:完成SSH连接与端口映射
四、使用vscode连接开发机进行python debug
1.使用Vscode进行Python debug的流程
Step1.安装Python扩展
- 打开VSCode,点击左侧扩展栏,搜索Python,并安装。
Step2配置调试
-
打开你的Python文件,点击左侧活动栏的“运行和调试”图标。
-
首次debug需要配置以下,点击“create a launch.json file”,选择python
debugger后选择“Python File” config。
-
可以直接编辑生成的launch.json文件,配置调试参数,比如添加config(Add Configuration)等。
Step3.设置断点
在代码行号旁边点击,可以添加一个红点,这就是断点(如果不能添加红点需要检查一下Python扩展是否已经正确安装)。当代码运行到这里时,它会停下来,这样你就可以检查变量的值、执行步骤等。接下来,我们在第4行的核心代码处打上断点。
Step4.启动debug
点击VSCode侧边栏的“Run and Debug”(运行和调试),选择调试配置后,点击绿色箭头(开始调试)按钮,或者按F5键。
Step5.查看变量
当代码在断点处停下来时,你可以查看和修改变量的值。在“Run and Debug”侧边栏的“Variables”(变量)部分,你可以看到当前作用域内的所有变量及其值。
Step6.单步执行代码
debug面板各按钮功能介绍:
continue: 继续运行到下一个断点。
step over: 单步跳过,可以理解为运行当前行代码,不进入具体的函数或者方法。
step into: 单步进入。如果当前行代码存在函数调用,则进入该函数内部。如果当前行代码没有函数调用,则等价于step over。
step out: 单步退出函数,返回到调用该函数的上一层代码。
restart: 重新启动调试。
stop: 终止调试。
Step7.修复错误并重新运行
如果你找到了代码中的错误,可以修复它,然后重新运行debug来确保问题已经被解决。
通过遵循以上步骤,你可以使用VSCode的debug功能来更容易地找到和修复你Python代码中的错误。可以自己编写一个简单的python脚本,并尝试使用debug来更好的理解代码的运行逻辑。记住,debug是编程中非常重要的一部分,所以不要怕花时间在这上面。随着时间的推移,你会变得越来越擅长它!
2.不同的断点
在调试(Debug)过程中,断点(Breakpoint)允许程序员在程序的执行流程中设置暂停点。当程序运行到这些断点时,执行会暂时中断,使得我们可以检查此时程序的状态,包括变量的值、内存的内容等。断点为我们提供了一个观察程序运行细节的机会,从而帮助我们定位和解决程序中的错误或问题。在VSCode中,我们还可以设置条件断点,这样断点只有在满足特定条件时才会触发。
- 普通断点:在代码行号左侧点击,添加断点。
- 条件断点:在断点标记上右键,选择条件断点(conditional breakpoint)。VSCode 中常用的条件断点主要有三种类型:
i. 表达式(Expression):输入一个 Python 表达式,每次触发断点时运行该表达式,当表达式的值为 True 时 VS Code
会暂停执行。例如:x == 10
ii. 触发计数(Hit Count):断点触发计数达到输入值时才会暂停运行。
iii. 记录日志(Log Message):触发该断点时在 Debug Console 中输出指定信息,实际上就是
logpoint。需要输入要输出的信息,如果要用到表达式,可以使用 {} 将表达式括起来。例如,每次记录变量 i 的值可以写
x={i}。
表达式条件断点
比如我们想让代码在 i=end-1 时停下来,可以这样设置: 在断点处右键选择“条件断点”,然后输入条件 i == end-1。
回车保存断点,然后运行debug,可以看到程序在i=9的时候停了下来,此时各变量的值如下
触发计数条件断点
如果我们想让sum_res+=i在运行5次后停下来,我们可以在这行设置Hit count断点为5。
运行debug后,程序第一次暂停时各变量的状态为
记录日志条件断点
在Log Message输入 Current i is {i} 每次触发时记录一下 i 的值
总结
本任务熟悉了python的基础操作,以及如何使用vscode调试代码。
标签:第四期,Python,安装,训练营,python,pip,debug,断点,浦语 From: https://blog.csdn.net/qq_30731313/article/details/143163378