1

这可能是一个菜鸟问题。为此,我深表歉意,但到目前为止我找不到解决方案。简而言之,由于某种我不明白的原因,我无法src在我的测试中从我的目录访问模块。我的项目设置如下所示:

src/package/module.py
tests/package/module_test.py

我的测试大致是这样的:

import package
import unittest
class module_test(TestCase):
   def testSomeMethod(self):
       m = package.SomeClass() #there is class of that name in module.py

我检查了 PyDev 中的运行配置设置,当我执行测试时,它说两者srctests在 PYTHONPATH 上。但是当我尝试运行这个测试时,我得到了错误'module' object has no attribute 'SomeClass'

我究竟做错了什么?

4

1 回答 1

1

当你这样做时import package,你导入的是包,而不是里面的模块。如果要导入模块,则需要这样做from package import module(然后将类称为module.SomeClass,而不是package.SomeClass)。

包是模块组的容器。它们不会神奇地让您访问任何模块中的所有内容(尽管您可以让它们自动导入它们的模块)。您仍然必须导入包中的各个模块。

于 2012-08-04T20:19:54.327 回答