假设某个目录checkerbot (您可以下载文件)。在我当前的目录中,我有一个名为 checkerbot
的目录,其中包含 4 个文件,即 base.py
、checkers.py
、__init__ .py
和 model.py
。
In [1]: import checkerbot.checkers as ck
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-1-d7411e2bfdb5> in <module>
----> 1 import checkerbot.checkers as ck
~/../main/checkerbot/checkers.py in <module>
----> 1 import base
2
3 class Game:
4 # Initializes the class.
5 def __init__(self):
ModuleNotFoundError: No module named 'base'
此错误告诉我,checkerbot
目录中没有 base.py
,但它是错误的。我该如何解决这个问题?供您引用,我使用的是 python 3.7.6。
更新
In [2]: import .base
File "<ipython-input-2-e4256d58e84b>", line 1
import .base
^
SyntaxError: invalid syntax
假设我当前的目录是 main
,而 checkerbot
位于 main/
中。如果我运行 ipython
然后 from .导入基础
然后我得到:
In [1]: from . import base
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-a8bda1f23f19> in <module>
----> 1 from . import base
ImportError: attempted relative import with no known parent package
另一个错误:
In [5]: from checkerbot import base
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-5-3203dc774184> in <module>
----> 1 from checkerbot import base
~/../main/checkerbot/base.py in <module>
1 import tensorflow as tf
2 import numpy as np
----> 3 from model import model
4
5 agent = tf.keras.models.Sequential()
ModuleNotFoundError: No module named 'model'
最佳答案
使用
from . import base
这将提供 checkerbot
包中 base
模块的相对导入。
类似的事情也适用于 model
模块:
from .model import model
关于python - 即使 base.py 存在,也没有名为 'base' 的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63055304/