我的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