Относительный импорт модуля python из текущего рабочего каталога - PullRequest
1 голос
/ 14 июля 2020

В текущем рабочем каталоге у меня следующая структура

Project
   __init__.py
   -RestApi
           __init__.py
           app.py
           query_generator
   -testfolder
           __init__.py
           test1.py

Я хочу вызвать query_generator из test1.py, я попытался позвонить

 from . RestApi.query_generator import *

, но получил следующую ошибку

ImportError: attempted relative import with no known parent package

Этот вопрос может дублировать следующий Импорт файлов из другой папки , Python сценарий относительного импорта на два уровня выше , Попытка относительного импорта с нет известного родительского пакета . Но я не могу решить эту проблему для своей текущей проблемы

Ответы [ 2 ]

1 голос
/ 14 июля 2020

Есть несколько способов добиться этого. вы можете добавить путь до Project dir в свою PYTHONPATH переменную

export PYTHONPATH=$PYTHONPATH:<path_leading_to_Project>/Project

Затем внутри test1.py вы можете импортировать модуль query_generator, используя:

from RestApi.query_generator import *

Преимущество сделать таким образом, если вы запустите свой скрипт из любого рабочего каталога, он будет работать

1 голос
/ 14 июля 2020

Попробуйте использовать импорт ниже:

from Project.RestApi.query_generator import *
...