Итак, у меня есть библиотека, организованная следующим образом:
\scripts
myScript.py
\src
__init__.py
setup.py
и в файле __init__.py, предположим, у меня есть строка:
try:
from myScript import myFunc
except ImportError:
RelevantWarning()
def myFunc(*args, **kwargs):
RelevantWarning()
Где RelevantWarning делает все, чтобы сказатьпользователь, который не импортирует foo.
При успешной установке пакета эта строка работает просто отлично.
У меня есть несколько вопросов:
- Этообщепринятый способ ссылки на скрипт в библиотеке?
- Есть ли лучший способ сделать это помимо того, что я делаю, это не просто включение myFunc в исходный код? Я не против этого, я просто хочу знать, существует ли стандарт для ссылок на эти сценарии или какая-то конкретная причина, по которой я не должен этого делать.
- В общем, является ли попытка-исключить ImportError обычным способомобрабатывать необязательный импорт? Вроде бы так, но я хочу знать в явном виде.