【发布时间】:2021-10-25 15:17:38
【问题描述】:
我正在尝试创建一个具有以下结构的项目:
my_file.ipynb
my_package_directory > __init__.py test.py
在test.py 中,假设我有一个非常简单的类:
class Test:
def __init__(self, name):
self.name = name
在代码单元格中,我尝试使类不满足并打印出定义的变量:
from my_package_directory.test import Test
test = Test('bob')
print(test.name)
如果我尝试运行单元格,我会收到错误:
ImportError: cannot import name 'Test' from 'my_package_directory.test'
在 Jupyter 笔记本中是否有特定的方法可以做到这一点?
谢谢。
【问题讨论】:
-
你能用例如
import my_package_directory.test as t; print(dir(t))仔细检查你的命名吗? -
我认为这个输出符合预期
['Test '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'const', 'os'] -
是的,这看起来是正确的,所以这与导入路径无关。值得怀疑的是该输出列表中的
const和os,因为它们没有在test.py中导入或定义... -
它们在实际文件中。我只是想简化事情。将它们注释掉没有区别。
-
那我就检查所有的拼写。也许也重启笔记本内核以防万一......
标签: python python-3.x jupyter-notebook jupyter