从另一个包导入 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
我的目录结构如下:
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