Python+PyCharm文件结构问题:AttributeError:“module”对象没有属性“X”

2024-03-28 08:21:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下文件结构:

  • 在主.py在
  • 密码
    • 在获取生成器.py在
  • 实用工具
    • 在RecHash.py在
    • 在ToInteger.py在
    • 在实用工具.py在

在获取生成器.py看起来像这样:

import unittest
import os, sys
import gmpy2
from gmpy2 import mpz

sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from Utils.Utils           import AssertInt, AssertClass
from Utils.ToInteger       import ToInteger
from Utils.RecHash         import RecHash    

def GetGenerators(n):
    AssertInt(n)
    assert n >= 0, "n must be greater than or equal 0"

    generators = []

    # ... irrelevant code...

    return generators


class GetGeneratorsTest(unittest.TestCase):
    def testGetGenerators(self):
        self.assertEqual(len(GetGenerators(50)), 50)


if __name__ == '__main__':
    unittest.main()

当我从内部使用函数GetGenerators时主.py,效果很好。 但是,当我右键单击文件运行GetGenerators.py单元测试时,“rununittests in获取生成器.py“,我得到以下错误:

File "C:\Program Files (x86)\JetBrains\PyCharm 2016.3.2\helpers\pycharm\nose_helper\util.py", line 70, in resolve_name obj = getattr(obj, part)

AttributeError: 'module' object has no attribute 'GetGenerators'

我想这和我的文件结构有关,但我看不出问题所在。


Tags: 文件pathfrompyimportossysutils
1条回答
网友
1楼 · 发布于 2024-03-28 08:21:57

我以前没有遇到过你的问题,但我想我也遇到过类似的问题。当我使用PyCharm时,我发现如果在PyCharm中打开并使用我在一个项目中创建的文件,那么一切正常。我可以导入它们,可以运行它们;没有问题。我遇到的问题(与您的类似)是当我打开一个不是在PyCharm项目中创建的文件时。我无法导入它们,有时甚至无法正确运行它们。也许只是因为我是个蠢货,或者说是真的。也许值得(如果您还没有),在PyCharm中创建一个项目,然后将文件内容复制并粘贴到您在PyCharm中创建的文件中。因为某些原因,这在过去对我很有效。在

相关问题 更多 >