我的virtualenv一个Foo项目创建和我有一些问题,在test_file.py蟒蛇 - 进口父目录发出
导入文件模块。这是我的项目目录
Foo/
├── app
│ ├── __init__.py
│ ├── testfile.py
│ ├── tests
│ │ ├── __init__.py
│ │ └── test_gram.py
│ ├── util
│ │ ├── File.py
│ │ ├── Gram.py
│ │ ├── __init__.py
└── NOTES
test_gram.py :
from app.util.File import loadDataFromPickle
listofdict = loadDataFromPickle(".....")
i = 0
for item in listofdict[:50]:
print(item)
如果我跑test_gram,我得到一个导入错误:
Traceback (most recent call last):
File "test_gram.py", line 1, in <module>
from app.util.File import loadDataFromPickle
ImportError: No module named 'app
我在做什么错?我是否需要将virtualenv路径更改为Foo/app而不是Foo?
默认情况下Python导入是绝对的,你的app目录不在'sys.path'中。试试'from ..app.util.File import loadDataFromPickle' – dhke
我认为你应该将'test_gram.py'移动到Foo /(不太确定) – Ronnie
如果我把test_gram.py放在app中,并且我从util.File import ...............它可以工作,但将测试放在测试目录中会更干净。 – Eric