gpt4 book ai didi

python - 在 Jupyter Notebook 中导入期间找不到模块

转载 作者:太空狗 更新时间:2023-10-29 18:07:00 27 4
gpt4 key购买 nike

我有以下包(和工作目录):

WorkingDirectory--
|--MyPackage--
| |--__init__.py
| |--module1.py
| |--module2.py
|
|--notebook.ipynb

__init__.py 我有:

import module1
import module2

如果我尝试将 MyPackage 导入到我的笔记本中:

import MyPackage as mp 

我会得到 ModuleNotFoundError: No module named 'module1'。但如果我在笔记本外执行脚本,导入工作正常:如果我在同一目录中创建 test.py 并执行与在笔记本中相同的操作,导入将正常工作。如果我在 __init__.py (import MyPackage.module1) 中使用完全限定名称,它将在笔记本中工作。

不同导入行为的原因是什么?

我已经确认笔记本的工作目录是WorkingDirectory

---更新-----------

确切的错误是:

C:\Users\Me\Documents\Working Directory\MyPackage\__init__.py in <module>()
---> 17 import module1

ModuleNotFoundError: No module named 'module1'

我的问题与可能的重复问题不同:

  1. 笔记本能够找到包,但只能加载模块。这是通过用 MyPackage.module1 替换 module1 推断出来的,效果很好,表明它可能不是与 PATH 相关的问题。

  2. 我进入 WorkingDirectory 并在那里启动了服务器。工作目录应该是包含我的包的文件夹。

最佳答案

我很确定这个问题是相关的,那里的答案会对你有帮助:https://stackoverflow.com/a/15622021/7458681

tl;dr 笔记本服务器的 cwd 始终是您启动服务器的基本路径,无论运行 import os os.getcwd() 说。使用 import sys sys.path.append("/path/to/your/module/folder")

我用一些与您指定的结构相同的虚拟模块运行它,在修改 sys.path 之前它不会运行,之后它会运行

关于python - 在 Jupyter Notebook 中导入期间找不到模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43120112/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com