我有以下目录结构:
F:.
│ .gitignore
│
└───Tests
│ main.py
│ __init__.py
│
├───compare
│ │ __init__.py
│ │
│ └───process
│ process.py
│ __init__.py
│
├───lookup
│ User.py
│ __init__.py
│
├───requestor
│ Requestor.py
│ __init__.py
│
├───search
│ UserSearch.py
│ ProductSearch.py
│ __init__.py
│
└───utils
constants.py
__init__.py
我可以从main.py
中导入任何文件/类,如
from search.UsersSearch import UsersSearchPayLoad
from search.ProductSearch import ProductSearchPayLoad
from utils.constants import *
但我无法从search.UserSearch
from ..utils.constants import *
from Tests.utils.constants import *
我指的是this,以了解使用相对导入的正确方法。
我使用的是Python 2.7.11
答案 0 :(得分:2)
尝试添加:
import os
import sys
sys.path.append(os.path.realpath(os.getcwd()))
在:
的 Tests/__init__.py
强>
答案 1 :(得分:0)
对于最新的phython版本,例如3.7.0
from directory import class-name
目录是您的文件夹结构。可能是subDirectory \ directory