【发布时间】:2021-07-09 23:12:07
【问题描述】:
我有以下文件结构
Working Directory
|
|-- Package
| |-- __init__.py
| |-- FirstModule.py
| |-- SecondModule.py
| |-- TestingFile.ipynb
|
|-- WorkingFile.ipynb
FirstModule.py
def func(n):
return n+1
SecondModule.py
import FirstModule
def func2(n):
value = FirstModule.func(n)
return (n, value)
当我将任一模块导入TestFile.ipynb 时,它们都可以正常工作,如下所示:
TestingFile.ipnyb
import FirstModule # Works Fine
import SecondModule # Works Fine
但是,如果我在 WorkingFile.ipynb 并尝试导入 SecondModule,我会收到 ModuleNotFoundError。更具体地说:
WorkingFile.ipynb
from Package import SecondModule as sm
from Package import FirstModule as fm
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-14-8a837a311e6c> in <module>
2 import numpy as np
3
----> 4 from Package import SecondModule as sm
5 from Package import FirstModule as fm
~\Documents\Jupyter Notebooks\Working Directory\Package\SecondModule.py in <module>
26 from datetime import datetime
27
---> 28 import FirstModule as fm
29
30 # Constants
ModuleNotFoundError: No module named 'FirstModule'
我是否忘记了模块在包含它们的包之外协同工作所需的东西?
【问题讨论】:
-
第一次导入时不要使用
.py第二次您必须从工作目录开始,例如from package.firstmodule import what_you_need或import package.firstmodule -
@Matiiss 抱歉,您的第一个问题是问题中的拼写错误。在我的实际代码中它没有
.py我已经纠正了我的问题中的错字。
标签: python jupyter-notebook python-import python-module python-packaging