【发布时间】:2017-08-24 12:16:19
【问题描述】:
我有以下包(和工作目录):
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'
我的问题与可能的重复问题不同:
笔记本能够找到包,但无法加载模块。这是通过用
MyPackage.module1替换module1推断得出的,这表明它可能不是与PATH相关的问题。我加入
WorkingDirectory并在那里启动服务器。工作目录应该是包含我的包的文件夹。
【问题讨论】:
-
@LouiseDavies 我更新了我的问题以解决重复问题。
-
我有一个类似的问题,它连接到一些没有所有软件包的旧内核;确保一次有一个,并且连接到默认端口 8888。
标签: python python-3.x jupyter-notebook python-import python-module