如何将jupyter笔记本目录中的模块导入到较低目录的笔记本中? [复制]

2024-04-18

我使用 Jupyter Notebook 进行数据分析已经有一段时间了。我想在我的 jupyter 笔记本目录中开发一个模块,并能够将该新模块导入到笔记本中。我的jupyter笔记本文件目录可以表示如下;

Jupyter notebooks\

    notebook1.ipynb

    new_module\
        __init__.py
        newfunction.py

    currentnotebooks\
        notebook2.ipynb

使用时import new_module在notebook1.ipynb中它可以工作,但是当我在notebook2.ipynb中尝试相同的命令时,我得到以下结果ImportError: No module named 'new_module'。两个明显的解决方案是 A) 将 new_module 移动到当前笔记本目录中或 B) 将 notebook2.ipynb 移动到与 new_module 相同的级别。我根本不想搞乱文件结构。这可能吗?


您需要确保的父目录new_module在你的Python路径上。对于低一级的笔记本new_module,这段代码可以解决问题:

import os
import sys
nb_dir = os.path.split(os.getcwd())[0]
if nb_dir not in sys.path:
    sys.path.append(nb_dir)

如果您在目录层次结构中更靠下,则需要调整方式nb_dir已定,但仅此而已。你应该not在笔记本中运行此代码Jupyter notebooks,因为它会将该目录的父目录添加到 python 路径中,这可能是不可取的。

导入起作用的原因notebook1sys.path 包含''(空字符串),它始终是正在运行的解释器(在本例中为内核)的当前目录。谷歌搜索一下explain python path出现了一些关于 python 如何使用的很好的解释PYTHONPATH (aka sys.path).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将jupyter笔记本目录中的模块导入到较低目录的笔记本中? [复制] 的相关文章

  • Pip install 导致此错误“ cl.exe' failed with exit code 2 ”

    我已经阅读了有关此错误的所有其他问题 但令人沮丧的是 没有一个给出有效的解决方案 如果我跑pip install sentencepiece在命令行中 它给出了以下输出 src sentencepiece sentencepiece wra
  • Python 小数.InvalidOperation 错误

    当我运行这样的东西时 我总是收到此错误 from decimal import getcontext prec 30 b 2 3 Decimal b Error Traceback most recent call last File Te
  • 创建一个打开文件并创建字典的函数

    我有一个正在处理的文件 我想创建一个读取文件并将内容放入字典中的函数 然后该字典需要通过 main 函数传递 这是主程序 它无法改变 我所做的一切都必须与主程序配合 def main sunspot dict file str raw in
  • Python 使用 M2Crypto 通过 S/MIME 对消息进行签名

    我现在花了几个小时 但找不到我的错误 我想要一个简单的例程来创建 S MIME 签名消息 稍后可以与 smtplib 一起使用 这是我到目前为止所拥有的 usr bin python2 7 coding utf 8 from future
  • 将 matplotlib png 转换为 base64 以在 html 模板中查看

    背景 你好 我正在尝试制作一个简单的网络应用程序 按照教程计算阻尼振动方程 并将结果的 png 返回到 html 页面 然后将其转换为 Base64 字符串 Problem 该应用程序运行正常 只是在计算结果时返回损坏的图像图标 可能是因为
  • 十六进制数的按位异或

    我们如何在 Python 中对十六进制数进行异或 例如 我想要异或 ABCD and 12EF 答案应该是 B922 我使用了下面的代码 但它给出了错误的结果 xor two strings of different lengths def
  • Pyinstaller --onefile 警告文件已存在但不应存在

    跑步时Pyinstaller onefile 并开始得到结果 exe 会出现多个弹出窗口 并显示以下警告 WARNING file already exists but should not C Users myuser AppData L
  • Selenium:等到 WebElement 中的文本发生变化

    我在用着selenium使用Python 2 7 从网页上的搜索框检索内容 搜索框动态检索结果并在框本身中显示结果 from selenium import webdriver from selenium webdriver common
  • 在 MATLAB 中创建共享库

    一位研究人员在 MATLAB 中创建了一个小型仿真 我们希望其他人也能使用它 我的计划是进行模拟 清理一些东西并将其变成一组函数 然后我打算将其编译成C库并使用SWIG https en wikipedia org wiki SWIG创建一
  • 如何使用 msgpack 进行读写?

    如何序列化 反序列化字典data with msgpack http msgpack org The Python 文档 http msgpack python readthedocs io en latest badge latest似乎
  • 管理文件字段当前 url 不正确

    在 Django 管理中 只要有 FileField 编辑页面上就会有一个 当前 框 其中包含指向当前文件的超链接 但是 此链接会附加到当前页面 url 因此会导致 404 因为不存在这样的页面 例如 http 127 0 0 1 8000
  • Python 垃圾收集有时在 Jupyter Notebook 中不起作用

    我的一些 Jupyter 笔记本经常出现 RAM 不足的情况 而且我似乎无法释放不再需要的内存 这是一个例子 import gc thing Thing result thing do something thing None gc col
  • 请求response.iter_content()获取不完整的文件(1024MB而不是1.5GB)?

    您好 我一直在使用此代码片段从网站下载文件 到目前为止 小于 1GB 的文件都很好 但我注意到 1 5GB 文件不完整 s is requests session object r s get fileUrl headers headers
  • 如何使用数据库在 Django 中的应用程序之间交换数据?

    我正在使用 Django 在网络上工作 我创建了 2 个应用程序 第一个用于客户端注册并将其数据添加到数据库 第二个应用程序供用户访问和查看交互界面 这个想法是使用第二个应用程序从数据库中的客户端获取数据 并使用它向用户显示一些信息 我的问
  • 如何得到将外力映射到广义力的矩阵?

    给定一个多体植物 我需要找到将外力 lambda 转换为广义力的矩阵 IE 以下方程中的 Phi 取自 Scott Kuindersma Frank Permenter 和 Russ Tedrake 的 稳定动态运动的有效可解二次规划 我的
  • 网页抓取 - 如何识别网页上的主要内容

    给定一个新闻文章网页 来自任何主要新闻来源 例如时报或彭博社 我想识别该页面上的主要文章内容 并丢弃其他杂项元素 例如广告 菜单 侧边栏 用户评论 在大多数主要新闻网站上都可以使用的通用方法是什么 有哪些好的数据挖掘工具或库 最好是基于Py
  • psutil:测量特定进程的CPU使用率

    我正在尝试测量进程树的 cpu 使用率 目前获取进程 没有子进程 的 cpu usage 就可以了 但我得到了奇怪的结果 import psutil p psutil Process PID p cpu percent 还给我float g
  • Jinja2中获取请求参数

    如何检索请求参数a在 Jinja2 模板中 http foo bar a 1 我这个答案有点晚了 但其他解决方案并没有真正考虑到您对 Flask 的使用 事实上 您将 Flask 与 Jinja2 一起使用 这使得您的情况与其他框架有点不同
  • 在Python中从列表中获取n个项目组的惯用方法? [复制]

    这个问题在这里已经有答案了 给定一个列表 A 1 2 3 4 5 6 是否有任何惯用的 Pythonic 方式来迭代它 就好像它是 B 1 2 3 4 5 6 除了索引之外 这感觉像是 C 的遗留物 for a1 a2 in A i A i
  • 在读/写二进制数据结构时访问位域

    我正在为二进制格式编写一个解析器 这种二进制格式涉及不同的表 这些表同样采用二进制格式 通常包含不同的字段大小 其中 50 100 个之间 大多数这些结构都有位域 并且在 C 语言中表示时看起来像这样 struct myHeader uns

随机推荐

  • 是否可以检索由混淆矩阵识别的误报/误报?

    我正在使用 Scikit learn 并使用混淆矩阵来更深入地了解我的算法的执行情况 X train X test Y train Y test train test split keywords list label list test
  • Pydantic 从列表中设置变量

    有没有办法从列表中设置 pydantic 模型 我尝试过这个 但它对我不起作用 如果 pydantic 无法做到这一点 如果我仍然需要类型验证和转换 约束等 那么最好的方法是什么 顺序在这里很重要 from pydantic import
  • 旋转的 CGRect 内部的点

    如何正确确定一个点是否位于旋转的 CGRect 框架内 框架随 Core Graphics 一起旋转 到目前为止 我已经找到了一种计算点是否在三角形内的算法 但这并不是我所需要的 正在旋转的框架是一个带有一些子视图的常规 UIView 让我
  • jquery从下拉列表中获取标签值

    我知道我可以使用 dropdown val 获取值 有人知道我如何获得标签吗 Cheers var text dropdown find option selected text 这与以下相同 var text dropdown optio
  • 跳过 Maven 测试依赖项

    我正在开发一个使用 Maven 进行构建的项目 我想做的是跳过测试依赖项 基本上在我的 Maven 存储库中不存在工件的情况下运行 Maven 构建 eg
  • 在处理 VotingClassifier 或网格搜索时,Sklearn 中的 GradientBoostingClassifier 是否有类别权重(或替代方法)?

    我正在使用 GradientBoostingClassifier 来处理不平衡的标记数据集 Sklearn 中似乎不存在类权重作为该分类器的参数 我发现我可以在合适时使用sample weight 但在处理VotingClassifier
  • 流星排序集合随机

    我想从 Meteor 集合中获取随机排序的集合 最好 最有效的方法是什么 Mongo 选项存在争议 https stackoverflow com questions 20336361 get random document from a
  • 在代码中使用通用 Int - 在 Core Data iOS 中使用 32 位或 64 位 Int?

    我正在用 swift 编写一个应用程序 通过苹果的核心数据保存其数据 在我的代码中 所有整数都被声明为 Int 因为这样更灵活 并且编译器会根据代码运行的设备调整这些整数 但是 当我想使用核心数据保存这些 Int 时 我必须选择 32 位或
  • 从ACRA 4.5升级到ACRA 4.6后编译错误

    我将我的应用程序使用的 ACRA 库从 4 5 0 到 4 6 0 但我收到 formKey 的编译错误 以前可以与 4 5 一起使用 以下是声明 ReportsCrashes formKey formUri socketTimeout 1
  • 根据另一个数组的数据对 numpy 数组进行排序

    我有两组数组data and result result包含相同的元素data但有一个额外的列并且按未排序的顺序 我想重新安排result数组 使其与中的行顺序相同data 同时在排序时将关联值与该行的其余部分一起放入最后一列 data n
  • 使用 Google Apps 脚本批量导入多个条目

    我知道有现有的代码可以构建可以上传多个文件 批量导入 的表单 如下所示使用 Google App 脚本将多个文件上传到 Google Drive https stackoverflow com questions 31126181 uplo
  • requireJS 与文件上传插件

    在requirejs中 我们可以通过以下方式设置js的名称 requirejs config paths jquery cdnjs cloudflare com ajax libs jquery 2 1 0 jquery min js 并将
  • 捕获 UserControl 中的 KeyDown 事件

    我有一个带有多个子控件的用户控件 我需要用户界面对按键做出反应 因此我决定将处理代码放入 MainControl KeyDown 事件中 但是 当我在应用程序中按下某个键时 该事件不会触发 我通过搜索引擎找到了一个依赖于使用 Windows
  • Ajax jquery 异步返回值

    我怎样才能让这段代码返回值无需冻结浏览器 当然 您可以用新方法重写它 function get char val merk var returnValue null ajax type POST async false url char i
  • js 异步/等待不工作

    我正在尝试了解 async await 以及如何使用它们 我正在遵循一些我见过的例子 我认为 但等待实际上并不是在等待ajax响应 这是代码 async function doAjaxGet ajaxurl const result awa
  • 在ggplot2中水平均匀分布点

    我想绘制计数的垂直箱线图 并将计数显示为点 覆盖在箱线图上 因为它们是离散值 所以会有多个点具有相同的值 为了在 ggplot2 中显示数据 我可以使用 geom jitter 来传播数据并获得稍微好一点的印象 但是抖动会破坏值 垂直分量
  • MySQL插入查询优化

    将大量行插入表中时 以下两种方法中哪一种会更快 查询方法一 逐条执行查询 INSERT INTO tbl user id name number VALUES NULL A 9999999999 INSERT INTO tbl user i
  • 更精确的 distance_of_time_in_words

    distance of time in words很棒 但有时不够精细 我需要一个能够以文字报告准确时间距离的函数 例如 上午 7 50 到上午 10 10 的距离应该是 2 小时 20 分钟 而不是 大约 2 小时 或其他什么distan
  • HighChart:多个图表的绘图线单击事件

    我正在使用 highchart 来实现一些向下钻取功能 我有一个功能可以让用户单击面积图并添加一条线 但后来我发现我的函数有一个错误 这些图表之间应该只有一条红线 但是当用户单击另一个图表时 第一个图表上的现有红线不会被删除 以下是我分享的
  • 如何将jupyter笔记本目录中的模块导入到较低目录的笔记本中? [复制]

    这个问题在这里已经有答案了 我使用 Jupyter Notebook 进行数据分析已经有一段时间了 我想在我的 jupyter 笔记本目录中开发一个模块 并能够将该新模块导入到笔记本中 我的jupyter笔记本文件目录可以表示如下 Jupy