Избегайте многократного импорта одних и тех же пакетов в несколько модулей Python - PullRequest
1 голос
/ 29 июня 2019

Я разрабатываю пакет Python с такой структурой:

package
 |_subpackage1
     |_module11.py
     |_module12.py
     |___init__.py
 |_subpackage2
     |_module21.py
     |_module22.py 
     |___init__.py
 |___init__.py

Все модули требуют общих внешних пакетов, таких как numpy или os, и вызывают друг друга: например, module11 звонки module21 и module11 звонки module21

Пока что все мои модули имеют очень длинный заголовок импорта, чтобы импортировать внешние пакеты и мои собственные модули. Я заметил, что когда я вызываю свой модуль с помощью Ananconda, мои сценарии инициализируются очень медленно, и я предполагаю, что это происходит из-за сложного взаимосвязанного импорта

Что я должен поместить в разные __init__.py, чтобы избежать множественного импорта одного и того же пакета и длинного заголовка в каждом модуле, как для внешних пакетов, так и для моих собственных модулей?

...