从另一个包导入类

时间:2016-04-24 18:30:41

标签: python python-import

我有以下目录结构:

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

2 个答案:

答案 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