При вызове одной модели Python с другим модулем в PyCharm появляется эта ошибка ValueError: попытка относительного импорта за пределы пакета верхнего уровня - PullRequest
0 голосов
/ 21 марта 2019

У меня есть две модели Python, Something One как Python Lib (написано мной) и еще один модуль Python workFlow. Я хочу использовать PythonLibs как API-интерфейс. Я хочу вызвать модуль рабочего процесса Python, чтобы включить библиотеку Python, выполнить требуемую функцию и вернуть результат в модуль WorkFlow

Ниже приведена структура папок.

MainFile
 |
 |--PythonLib
 |     |-__init__(This is blank)
 |     |-MainFunction 
 |     |-OtherDifferentFunction
 |     |-venv
 |--WorkFlow
       |--__init__(This is blank)
       |--MainFunction
       |--Different WorkFlow
       |      |--Work1
       |      |--Work2
       |--vEnv

Различный workFlow , Work 1 , присутствующий в WorkFlow , должен иметь возможность вызывать другие функции Python Libs Other.

Один из способов - полностью скопировать PythonLib в WorkFlow и импортировать - я не хочу этого делать.

Я хочу сделать что-то вроде этого - включить файл в Work1, что можно сделать с помощью

from ...PythonLib import OtherDifferentFunction

Тогда я могу вызвать нужную функцию по

OtherDifferentFunction.function1()

я вижу ниже ошибку

ValueError: attempted relative import beyond top-level package

Следующая проблема. Для запуска OtherDifferentFunction.function1 () существует несколько переменных, которые необходимо установить динамически.

Есть ли какой-нибудь способ, которым мы можем сделать? , Я знаю, что мы можем сделать это с помощью функции init в MainFunction из PythonLib . Но как это сделать ? ,

Поскольку PythonLib - это API, я также хочу иметь гибкость, позволяющую устанавливать эти значения также с помощью argParser.

Пожалуйста, помогите мне в этом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...