12

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

これに関する簡潔なドキュメントがどこかにありますか?

4

1 に答える 1