フォルダxbot.py
内から実行しようとしているようです。creator
これは私がxbot.py
含むことで得られる出力ですimport util
:
C:\Users\Luke\Python stuff\AXBot\creator>xbot.py
Traceback (most recent call last):
File "C:\Users\Luke\Python stuff\AXBot\creator\xbot.py", line 4, in <module>
import util
ImportError: No module named util
これは私がxbot.py
含むことで得られる出力ですfrom . import util
C:\Users\Luke\Python stuff\AXBot\creator>xbot.py
Traceback (most recent call last):
File "C:\Users\Luke\Python stuff\AXBot\creator\xbot.py", line 3, in <module>
from . import util
ValueError: Attempted relative import in non-package
from .. import util
また、の代わりにこの後者のエラーが発生しますfrom . import util
。
それを含むディレクトリから実行xbot.py
している場合、Pythonはそれがパッケージ階層内で実行されていることを認識できません。xbot.py
パッケージの中にはないと思います。
インポートしようとした行をに置き換え、いくつかのディレクトリを上に移動し、util
Pythonのコマンドラインスイッチを使用して実行しました。これは、ファイル名ではなくモジュール名で指定されたモジュールを実行するようにPythonに指示します。を使用する場合は、パッケージ階層を含むモジュールの完全修飾名を渡しますが、ファイル拡張子はモジュール名の一部ではないため、含めないことに注意してください。from AXBot import util
xbot.py
-m
-m
.py
C:\Users\Luke\Python stuff\AXBot\creator>cd ..\..
C:\Users\Luke\Python stuff>python -m AXBot.creator.xbot
1232
import AXBot.util as util
の代わりに使用した場合も同じ出力が得られましたfrom AXBot import util
。
(実行するコードがないので、代わりに変数を入力して、util.py
その値を内部から出力しようとしました。xbot.py
この変数の値はでした1232
。)