将文件作为包导入-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