我正在使用一个使用相对导入的Python包。因此,从一个模块,本地导入看起来像:
from . import module
包的结构如下:
package/
__init__.py
module1.py
module2.py
moduleN.py
subpackage1/
__init__.py
module1.py
module2.py
subpackage2/
__init__.py
...
etc.
我想导入其中一个模块来单独试用它的函数和类。
所以,我cd
加入了package/
目录。然后我尝试了ipython module2.py
并得到了:
ValueError: Attempted relative import in non-package
我还尝试了ipython -m module2
,除了ValueError
之外,我还得到了:
WARNING: Unknown failure executing module: <module2>
我也从一个目录尝试了同样的事情并得到了同样的错误。
如何导入模块并在IPython中使用它们的类和函数?
答案 0 :(得分:1)
从项目的顶级目录中打开ipython
,在本例中为package/
。
然后导入具有绝对导入的模块:
import package.module2 as module2
或
import package.submodule1.module1 as m1