Хорошо, это не будет работать, так как Плагины находятся в отдельном пакете, не связанном с пакетом NeuralNetwork.
Каждая ваша папка создает пакет, если в ней есть файл __init __.py, что означает, что затем вы можете импортировать этот пакет из python.
Например,
Programs
|----- Package1
file1.py
__ init __.py
|------Package2
file2.py
__init __.py
В этой настройке есть два независимых пакета, которые не знают друг друга. Поэтому вы не можете импортировать из Package1 из Package2 и наоборот. Однако, если вы измените структуру, чтобы она была такой, то есть превращение программ в пакет путем добавления в __ init __. Py
Programs
|----- Package1
file1.py
__ init __.py
|------Package2
file2.py
__init __.py
__init __.py
, так что теперь программы также являются пакетом, а Package1 и Package2 находятся внутри тот же пакет, затем из file1.py вы можете сделать следующее
import Programs.Package2.file2
Недостатком этого является то, что при импорте каждый файл будет содержать ссылки на пакеты вокруг него. То есть пакеты действительно зависят друг от друга и не могут работать, если не присутствуют все пакеты.
Однако, если пакеты действительно независимы, еще один способ - добавить пакет, который вы хотите использовать в вашей системе. Путь, выполнив следующее
import sys
sys.path.append("/path/to/my/package")
Я пробовал это, и у меня есть следующая структура файла
![Structure of files](https://i.stack.imgur.com/xuhwp.png)
mod1.py имеет следующий код
from program.module2.mod2 import hello
hello()
mod2.py имеет следующий код
def hello():
print("hello")
main.py имеет следующий код
from program.module1 import mod1
из командной строки, I go в одну папку выше программы, и я набираю следующее
PS C:\temp\example> ls
Directory: C:\temp\example
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 21/02/2020 15:10 .vs
d----- 21/02/2020 15:10 program
PS C:\temp\example> python -m program.main
hello