繁体   English   中英

无法从“A”导入名称“B”

[英]cannot import name "B" from "A"

我在这里问一个似乎非常愚蠢的问题,但就是找不到解决办法。 我只是一个初学者,我也在 StackOverflow 上搜索了多个结果,但这些问题与我无关。 如果我错过了一个,我很抱歉。

我的问题是我正在尝试将我的第一个主机游戏重新创建为 OOP 游戏,但出于某种原因,我无法导入模块?

首先,我想说我是在我的笔记本电脑上用 Pop os 创建的。 并且提到的两个文件是目录中唯一的文件。

所以我创建了一个battle_main.pybattle_mechanics.py

battle_mechanics.py上,它只有以下几行:

class User_Interface:
    def __init__(self):
        self.player_health = 30
        self.squid_health = 30

battle_main.py上:

from battle_mechanics import User_Interface

ui = User_Interface()

就是这样,但我无法导入它。 它导致ImportError: cannot import name 'User_Interface' from 'battle_mechanics'我知道这是一个非常简单的问题,但我真的找不到任何解决方法吗? 事实上,我认为我导入它的方式甚至没有问题。 它只是行不通。 任何帮助表示赞赏。

我不确定为什么您尝试的方法不起作用。 据我所知,你所做的已经是正确的。 然而,另一种解决方法是将battle_mechanics.py放在文件夹package中。 使用以下代码将__init__.py包含在该文件夹中:

from .battle_mechanics import *

然后当你使用battle_main.py时,你可以使用下面的 import 语句。

from package import User_Interface

这应该可以解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM