从当前工作目录相对导入python模块
在当前工作目录中,我有以下结构从当前工作目录相对导入python模块,python,python-module,relative-import,Python,Python Module,Relative Import,在当前工作目录中,我有以下结构 Project __init__.py -RestApi __init__.py app.py query_generator -testfolder __init__.py test1.py 我想从test1.py调用查询生成器,我尝试调用 from . RestApi.query_generator import * 但是得到下
Project
__init__.py
-RestApi
__init__.py
app.py
query_generator
-testfolder
__init__.py
test1.py
我想从test1.py调用查询生成器,我尝试调用
from . RestApi.query_generator import *
但是得到下面的错误
ImportError: attempted relative import with no known parent package
此问题可能与以下问题重复。但我无法解决当前的问题请尝试使用以下导入:
from Project.RestApi.query_generator import *
实现这一点有多种方法。 您可以在
PYTHONPATH
变量中添加路径直到Project
dir
export PYTHONPATH=$PYTHONPATH:<path_leading_to_Project>/Project
这样做的好处是,如果您从任何工作目录执行脚本,从ProjectAware.RestApi.query\u generator import*modulenofounderror:没有名为“ProjectAware”的模块获取modulenofounderror您是否执行了类似于:python testfolder/test1.py的文件?是的,我正在执行该文件?执行此文件后,您能否检查python路径并验证您的CWD是否存在于python路径中?为此使用sys模块。只需打印(sys.path)
from RestApi.query_generator import *