正确解决目录导入错误

时间:2017-07-05 11:54:30

标签: python

我的问题更多的是关于以一种被认为是" Python的正确方式解决导入错误的适当方法,"如果有这样一个词。我认为我已经解决了我的问题(在下面发布并更新),但即便如此也不行。

上下文

我已经查看过各种各样的回复(例如How to resolve import errors in python?),我认为我已经完成了这些事情,但我仍然有我在这里发帖的问题。

示例

我有以下结构:

int[] convertedArray = Array.ConvertAll(myDoubleArray, x => (int)x);

pacumen rules __init__.py pacman_rules.py pacman.py game.py 我有一个班级:

pacman_rules.py

在我的class PacmanRules: .... 文件中,我有以下import语句:

pacman.py

请注意,这是由PyCharm自动生成的。所以PyCharm告诉我它解决得很好。

但是,当我从命令行运行from rules.pacman_rules import PacmanRules 时,出现以下错误:

pacman.py

考虑到代码行,我不知道为什么会发生这种情况。

ImportError: cannot import name PacmanRules 我也有这样的陈述:

pacman.py

那个工作正常。请注意,类from game import GameStateData 来自我的GameStateData文件。因此,我猜测我的问题是我尝试从不同目录中的文件导入,而不是从同一目录中的文件导入。

可能的解决方案(更新:不起作用)

然后我尝试了这个导入:

game.py

这似乎有效,但它要求我更改这样的行:

from rules import pacman_rules

这样的行:

PacmanRules.getLegalActions(self)

这对我来说感觉很麻烦,似乎打败了导入类名的目的,所以我可以使用它而不必在前面加上它。

但事实证明,这也不起作用。这只是一个不同的错误:

pacman_rules.PacmanRules.getLegalActions(self)

这就是我的问题。大多数问题似乎围绕如何来解决问题;事实证明,我甚至没有修复过。"

我感到好奇的是为什么最初的方法不起作用(特别是因为PyCharm生成它)以及我提出的解决方案是否适合处理这个问题。

0 个答案:

没有答案