当前位置: 首页 > news >正文

jupyter notebook中执行过程中更新模块代码,再执行没有更新执行

1、排查方法

当环境中有多个同名文件,需要确定模块文件和更新文件是不是同一个文件。

如何知道现在系统中默认引用的是哪个目录下的base.py

比如要知道当前系统中引用的 base.py 文件的路径,可以使用 base.__file__ 属性查看模块的实际加载路径。

import base# 打印 base.py 的实际路径
print(f"当前引用的 base.py 文件路径为: {base.__file__}")

解释

  • base.__file__:这个属性会返回 base.py 模块的完整文件路径,显示它是从哪个目录加载的。
  • 使用这个属性可以明确地知道当前使用的是哪个目录下的 base.py,从而确认模块引用是否正确。

进一步调试

如果怀疑 Python 引用了错误的模块,还可以打印 sys.path,查看模块搜索路径的顺序:

import sys# 打印模块搜索路径
print("模块搜索路径为:")
for path in sys.path:print(path)

2、重新加载模块文件

在 Jupyter Notebook 中,Python 有时会缓存导入的模块,即使你修改了代码,重新运行单元格时也会继续使用旧的版本。这种行为可能导致更新后的代码未被加载。

解决方法:强制重新加载模块

使用 importlib.reload() 来强制重新加载模块。

import importlib
import update_sql# 强制重新加载 update_sql 模块
importlib.reload(update_sql)# 现在可以调用更新后的函数
update_sql.update_sql('daily_data')


http://www.mrgr.cn/news/54967.html

相关文章:

  • 【Spring MVC】创建项目和建立请求连接
  • 3.matplotlib基础及用法(全)
  • 速盾:直播cdn加速原理是什么?
  • 礼想视界,期待与您携手共创影视未来!
  • 【UML】一个UML学习的还不错的几个帖子
  • SqlUtils 使用
  • 机器学习与神经网络:诺贝尔物理学奖的新纪元
  • Vue中使用路由
  • 数据结构:二叉树、堆
  • python+Mosh网课笔记04
  • 计算机毕业设计 基于java个性化智能学习系统的设计与实现 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试
  • 关于SSD1306的OLED的显示的研究
  • 一图秒懂色彩空间和色彩模型
  • 云计算-----单机LNMP结构WordPress网站
  • 从DexMV、VideoDex、MimicPlay到SeeDo:从人类视频中学习:机器人的主流训练方法之一
  • 网盘直链下载神器NDM
  • Springboot指定扫描路径
  • NTA-IoU指标提升超42%,北京大学提出首个使用世界模型提升自动驾驶场景重建质量DriveDreamer4D
  • ESP32-C3 入门笔记04:gpio_key 按键 (ESP-IDF + VSCode)
  • 深入拆解TomcatJetty(二)
  • 深入理解Android WebView的加载流程与事件回调
  • 【Flutter】页面布局:弹性布局(Flex)
  • MySQL【知识改变命运】10
  • 【实习分享】三无选手实习投递经验简贴
  • 数据结构单向链表的插入和删除(一)
  • 查找与排序-交换排序