Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将文件作为包导入-Python_Python - Fatal编程技术网

将文件作为包导入-Python

将文件作为包导入-Python,python,Python,我有以下目录结构: /testlib __init__.py ec2.py unit/ __init__.py test_ec2.py utils/ __init__.py 我正在尝试为ec2.py创建一个unittest类: import ec2 class TestEC2(unittest.TestCase): def setUp(self): self.ec2obj = ec2.EC2(

我有以下目录结构:

/testlib
    __init__.py
    ec2.py
    unit/
       __init__.py
       test_ec2.py
    utils/
       __init__.py
我正在尝试为
ec2.py
创建一个
unittest
类:

import ec2

class TestEC2(unittest.TestCase):

    def setUp(self):
        self.ec2obj = ec2.EC2(name="testlib_unittest")

if __name__ == '__main__':
    unittest.main()
但是,当我执行
test_ec2.py
时,我得到以下错误:

python unit/test_ec2.py 
Traceback (most recent call last):
  File "unit/test_ec2.py", line 4, in <module>
    import ec2
ImportError: No module named ec2

它找不到模块,因为您运行的脚本不正确。在
testlib/
中运行以下命令:

python -m unit.test_ec2

Python不会在您的目录上方的目录中查找文件。Ignacio的答案是正确的,请参阅详细说明。

您的
\uuu init\uuuuuuuuy.py
是什么样子?@Zizouz212它是空的…您是否尝试过从..ec2导入testlib.ec2?
导入ec2
@Nsh查看问题更新。是的-可以。另外,如果您没有升级,可以指定python路径。PYTHONPATH=/home/path/to/testlib/python单元/test_ec2.py
python -m unit.test_ec2