VSCode使用ipynb文件高效地进行功能测试

一、ipynb是什么文件

.ipynb文件是Jupyter Notebook的专用格式,它允许用户在一个网页应用中混合编写Markdown文本、执行代码、查看输出结果及图表。Jupyter Notebook的本质是一个Web应用程序,支持运行40多种编程语言,包括Python。它的主要用途包括数据清理和转换、数值模拟、统计建模、机器学习等。Jupyter Notebook与IPython终端共享同一个内核,使得实时代码执行、数学方程处理、可视化以及markdown支持成为可能。

二、不使用ipynb文件时如何进行功能测试

如下图所示,在使用ipynb文件之前我通常会在类中添加对 (__name__ == '__main__') 情况的处理,在其中编写具体的测试逻辑,这种方法在测试功能时没啥大问题,但会有一些不方便的地方:测试完毕之后在commit之前要把测试代码都删除掉、下次想进行测试时还要再写一遍测试代码/从其他地方拷贝过来。如果用ipynb文件进行功能测试则没有这些问题,因为它是一个独立的可执行文件。

三、VSCode安装Jupyter并配置环境

安装Jupyter扩展 -> 创建test.ipynb文件 -> 执行test.ipynb文件 -> 选择Python Environments -> 选择Python 3.10.11 -> 根据提示安装ipykernel包(无此提示直接进行下一步) -> 环境配置完毕

四、test.ipynb文件的位置对import本项目其他文件的影响

当test.ipynb的位置在 C:\SLBProjects\PerformanceDMS.Utility.IAPlanPerfAnalyzer 时,由于.env中配置了PYTHONPATH,所以sys.path第一个元素的值是 C:\SLBProjects\PerformanceDMS.Utility.IAPlanPerfAnalyzer\src,我们在import本项目的其他文件时要以此和test.ipynb所在位置为基准,所以要写成 from iaplanperfanalyzer.xxx

当test.ipynb的位置在 C:\SLBProjects\PerformanceDMS.Utility.IAPlanPerfAnalyzer\src\iaplanperfanalyzer\models\iaplan 时,由于.env中配置了PYTHONPATH,所以sys.path第一个元素的值是 C:\SLBProjects\PerformanceDMS.Utility.IAPlanPerfAnalyzer\src\iaplanperfanalyzer\models\iaplan\src,我们在import本项目的其他文件时要以此和test.ipynb所在位置为基准,所以要写成 from inflow_model_engine.xxx

五、test.ipynb文件支持多块Code

当我们需要测试多个功能时可以在test.ipynb中创建多块Code,为了让test.ipynb文件结构清晰也会创建多块Code(图中的import和逻辑代码就写在不同的Code中)。代码块创建完毕后,把鼠标移到左侧小三角的下方变成小手形状时可以上下拖动来调整代码块的位置。

六、异常情况处理

有时候项目代码已经发生变化,但在test.ipynb执行测试时仍是之前代码的表现,可以点击Restart,如果问题仍未解决就重启VSCode。 

整理这篇文章真是不太容易,如果这篇文章对你有帮助,请点赞、评论支持下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/770679.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch运维系列_ES之max_result_window 含义-对性能影响及参数调整

如果你觉得这篇文章能给你带来收获,请关注我公众号: 这篇文章主要给大家介绍max_result_window参数及其对性能影响。 Part1 背景描述 当前某个业务xxxdb单个索引值较大,每日单个索引大小在二三百G,当前索引保留15天,如果拉取一个…

初入Node.js必备知识

Node.js因什么而生,作用是干什么? Node.js是一个用c和c打造的一个引擎,他能够读懂JavaScript,并且让JavaScript能够和操作系统打交道的能力 JavaScript 原本只能在浏览器中运行,但随着Web应用程序越来越复杂,仅靠客户端JavaScri…

零基础入门怎么学习老挝语字母表?《老挝语翻译通》App真人发音教学,学习老挝语字母发音和词汇句子!

这段老挝文字翻译成中文是什么意思?有什么好用的老挝语翻译工具推荐吗? 快速翻译:中老语言无缝转换,实时翻译,让沟通更流畅。 学习工具:零基础入门到流利对话,老挝语真人发音,让你的…

MacOS 安装 mtr 网络检测工具

Install sudo brew install mtr sudo chown root $(which mtr) sudo chmod us $(which mtr) sudo chown root $(which mtr-packet) sudo chmod us $(which mtr-packet) Test mtr google.com

Build a Large Language Model (From Scratch)附录E(gpt-4o翻译版)

来源:https://github.com/rasbt/LLMs-from-scratch?tabreadme-ov-file https://www.manning.com/books/build-a-large-language-model-from-scratch

VTK学习日志:基于VTK9.3.0+Visual Studio c++实现DICOM影像MPR多平面重建+V R体绘制4个视图展示功能的实现(二)

前段时间对VTK9.3.0进行了编译,开发了MPRVR实现的demo,显示效果不是很理想,正好趁着周末有时间,再度对之前的程序进行优化和完善,先展示下效果: VTK实现MPRVR四视图 再次讲解下基于VTK的MPRVR实现的简单项目创建过程&a…

Kamailio-命令行指令kamctl与kamcmd

前文也有提到几种指令的用处,与web页面相比,它就是更原始、面向运维的,正常如果有管理页面也需要使用到: kamailio - SIP 服务器脚本kamdbctl - 创建和管理数据库的脚本,比如你使用MySQL作为其存储时就需要使用到这个…

每天五分钟计算机视觉:人体姿势识别

本文重点 人体姿势识别是计算机视觉领域的一个重要研究方向,旨在通过图像或视频数据自动检测并识别出人体的各种姿势和动作。随着深度学习技术的快速发展,基于神经网络的方法在这一领域取得了显著进展。神经网络,特别是卷积神经网络(CNN)和循环神经网络(RNN),因其强大…

安装opencv-python出错,怎么办?

安装opencv-python出错 解决方法: 具体版本号,python3.6对应的就是4.3.0.38 pip install opencv-python4.3.0.38 -i https://pypi.tuna.tsinghua.edu.cn/simple

检测水管缺水的好帮手-管道光电液位传感器

管道光电液位传感器是现代清水管道管理中的重要技术创新,不仅提高了检测液位的精确度,还解决了传统机械式和电容式传感器存在的诸多问题,成为检测管道缺水的可靠利器。 该传感器采用先进的光学感应原理,利用红外光学组件通过精密…

2G 3G 4G常用知识点

名词解释 LTE网络、WCDMA网络、2G、3G 4G 区别及联系? 2G (第二代移动通信技术) 2G是最早的数字移动电话标准,主要支持语音通话和短信服务。代表性技术有GSM (Global System for Mobile Communications) 和CDMA (Code Division Multiple Access)。 3G (第三代移动…

相亲交友APP系统婚恋交友社交软件开发语音视频聊天平台定制开发-婚恋相亲交友软件平台介绍——app小程序开发定制

互联网飞速发展的时代,相亲交友软件成为了许多年轻人首选的相亲方式,越来越多的单身男女希望在婚恋交友软件平台上寻找灵魂伴侣,相亲交友软件因此具有很高的市场价值。 多客婚恋相亲交友系统是一款定位高端,到手就能运营的成熟婚恋…

Java入门编码10个注意点,大家注意“避坑”

插: AI时代,程序员或多或少要了解些人工智能,前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家(前言 – 人工智能教程 ) 坚持不懈,越努力越幸运,大家…

FileZilla的安装和使用(快速上手版)

下载 登陆官网下载下载 - FileZilla中文网 服务端 我们选择一个中文安装最新版本下载 客户端 我们选择绿色免安装版进行下载 安装 安装服务端 双击运行下载好的服务端安装包 点击 我接受 点击 下一步 设置好安装路径,点击 下一步 这里默认即可,点击…

智慧园区可视化:构建全方位智能管理体系

通过图扑的 2D、 3D 和 GIS 可视化技术结合倾斜摄影、数字孪生和视频融合等技术,将园区各类数据集成展示,实时监控和分析环境与设施状况,提升管理效能和安全水平,实现智慧园区的全方位智能化运营。

属性加密技术:保障数据安全的新利器

随着信息技术的飞速发展,数据安全已成为我国乃至全球关注的焦点。在众多数据安全技术中,属性加密技术以其独特的优势,逐渐成为保障数据安全的新利器。本文将从属性加密技术的原理、特点及其应用场景三个方面进行介绍,以期为读者提…

SpringBoot 集成Swagger在线接口文档 接口注解

介绍 Swagger接口文档是一种自动生成、描述、调用和可视化的RESTful风格Web服务接口文档的工具。它通过一系列的规范和自动化工具&#xff0c;极大地简化了后端开发人员与前端开发人员之间的协作。 依赖 <!--swagger--> <dependency><groupId>io.springfo…

高考志愿填报,选热门专业还是选自己喜欢的专业

对于每一个结束高考的学生来说&#xff0c;都要面临选专业这个严峻的挑战。选专业可以说是妥妥的大工程&#xff0c;因为这关系到接下来的几年要学什么内容&#xff0c;关键是未来的几十年要从事什么样的工作。 所以在谈及选专业这个问题的时候&#xff0c;每个人的内心都有些…

加权 KNN 算法的原理与详解

加权kNN&#xff0c;k近邻算法的增强改进版本。 加权KNN算法 近邻算法&#xff08;k-Nearest Neighbors, kNN&#xff09;是一种用于分类和回归的非参数方法。它的基本思想是“看邻居”&#xff0c;即通过查找离目标点最近的 K 个数据点&#xff0c;来判断目标点的类别或数值。…

kimi,让论文写作不再是一场苦旅【下】

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 今天我们继续昨天的内容&#xff1a;kimi&#xff0c;让论文写作不在是一场苦旅【上】&#xff0c;为大家列举与Kimi互动的示例。 8. 文献综述&#xff1a; 1. 文献搜索策略&#xff1…