Я немного смущен тем, как работают операции импорта в IPython. Я ничего не обнаружил через поисковые запросы в Интернете.
Имплицитный относительный импорт работает с Python 2, но я не знаю, если это все еще имеет место с IPython для 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
Есть ли какая-нибудь краткая документация по этому поводу?