简体   繁体   English

从另一个包导入类

[英]Importing class from another package

I have the following directory structure: 我有以下目录结构:

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

I am able to import any file/class from main.py like 我可以从main.py导入任何文件/类

from search.UsersSearch import UsersSearchPayLoad
from search.ProductSearch import ProductSearchPayLoad
from utils.constants import *

but I cannot do any import from any other package like, from search.UserSearch : 但我无法从search.UserSearch任何其他包中导入任何search.UserSearch

from ..utils.constants import *
from Tests.utils.constants import * 

I was referring this for understanding the correct way to use relative imports. 我之所以提到这是为了理解使用相对导入的正确方法。

I am using Python 2.7.11 我使用的是Python 2.7.11

Try adding: 尝试添加:

import os
import sys

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

In: Tests/__init__.py 在: Tests/__init__.py

For the latest phython Version eg 3.7.0 对于最新的phython版本,例如3.7.0

from directory import class-name

A directory is your folder structure. 目录是您的文件夹结构。 It could be subDirectory\\directory 它可能是subDirectory \\目录

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM