我对 import 语句在 IPython 中的工作方式感到有些困惑。我通过网络搜索一无所获。
隐式相对导入适用于 Python 2,但我不知道 IPython for Python 3 是否仍然如此。
使用点语法的相对导入似乎根本不起作用:
In [6]: ls
dsp/ __init__.py __init__.pyc utils/
In [7]: from .utils import capture
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-7-e7d50007bdd1> in <module>()
----> 1 from .utils import capture
ValueError: Attempted relative import in non-package
导入使用点语法的模块似乎是不可能的:
In [8]: cd utils
/home/user/workspace/mypkg/mypkg/utils
In [9]: ls
capture/ capture.py capture.pyc cext/ __init__.py __init__.pyc
In [10]: from capture import Capture
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-10-8c31c76d052d> in <module>()
----> 1 from capture import Capture
/home/user/workspace/mypkg/mypkg/utils/capture.py in <module>()
17 import tarfile
18 import re
---> 19 from .. import utils
20 from . import flprint
21 from select import poll
ValueError: Attempted relative import in non-package
在某处是否有一些简明的文档?