从另一个包导入 class

Importing class from another package

我的目录结构如下:

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 中导入任何 file/class,比如

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

尝试添加:

import os
import sys

sys.path.append(os.path.realpath(os.getcwd()))

在: Tests/__init__.py

对于最新的 python 版本,例如 3.7.0

from directory import class-name

目录是您的文件夹结构。可以是 subDirectory\directory