ImportError:没有名为mymodule.main的模块

时间:2016-03-06 02:29:37

标签: python python-2.7 unit-testing importerror python-unittest

我有一个测试,需要有关如何运行的说明。超越工作的目标是无所不能,指导手册应包含一个运行文件的命令,一个用于运行测试的命令。我的朋友说运行unittests不会要求文件在pythonpath上,因为它首先检查当前目录,但我得到:

import unittest

from ordoro_test.main import OrdoroETLMachine

class ETLMachineTests(unittest.TestCase):

    def setUp(self):
        self.api_url = 'https://9g9xhayrh5.execute-api.us-west-2.amazonaws.com/test/data'
        self.headers = {'accept': 'application/json'}

    def test_data_is_returned(self):
        print(OrdoroETLMachine.get_email_data())



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

enter image description here

cchilders:~/ordoro_test [master]$ python test.py 
Traceback (most recent call last):
  File "test.py", line 4, in <module>
    from ordoro_test.main import OrdoroETLMachine
ImportError: No module named ordoro_test.main
cchilders:~/ordoro_test [master]$ ls -l
total 8
-rw-rw-r-- 1 cchilders cchilders    0 Mar  5 19:15 __init__.py
-rwxr-xr-x 1 cchilders cchilders 3099 Mar  5 20:12 main.py
-rwxr-xr-x 1 cchilders cchilders  441 Mar  5 20:19 test.py

如何以最简单的方式修复和允许导入?谢谢

我试试

from ordoro_test.assignment.main import OrdoroETLMachine

enter image description here

没有骰子

2 个答案:

答案 0 :(得分:0)

__init__.py文件夹的一个级别添加空ordoro_test个文件可以解决您的问题。

有关详细信息,请参阅Python 2.7, Modules section

答案 1 :(得分:0)

使用显式相对导入from .main import OrdoroETLMachineintra-package-references