python - 即使 base.py 存在,也没有名为 'base' 的模块

标签 python

假设某个目录checkerbot (您可以下载文件)。在我当前的目录中,我有一个名为 checkerbot 的目录,其中包含 4 个文件,即 base.pycheckers.py__init__ .pymodel.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/

相关文章:

python - FTP文件名编码

python - 如何使用 Python 从 fft-spectrum 创建声音文件?

python - 使用 gitbash 终端将文件从 Windows 10 移动到 ubuntu 文件夹

python - 如何在 Django 中集成 304?

Python:短坐标函数意外更改传入参数值

python - Tornado nginx websockets 握手 400 错误

python - 使用二维 numpy 数组有效填充 pandas 数据框

python - Django 管理员 : Ordering of ForeignKey and ManyToManyField relations referencing User

python - 识别列表列表中具有 3 个共同元素的列表

python - 命名空间可以启用多个域吗?