Ниже приведен минимальный код для восстановления ошибки
def foo():
# hard code implementation
pass
def func():
try:
from scipy import foo # unsuccess here
except:
...
foo()
func()
Ошибка
UnboundLocalError: local variable 'foo' referenced before assignment
Моя мотивация :
По сути, здесь я ' m пытается вызвать эту функцию foo()
. Я заметил, что scipy
может уже реализовать это. Поскольку scipy настолько тяжелый, я бы хотел избежать make scipy
в качестве зависимости. Тем не мение. если пользователь иногда уже установил scipy, я хотел бы импортировать метод из scipy и использовать его. Если пользователь этого не сделает, ничего страшного. Я уже жестко запрограммировал функцию foo
для вас.
Вопрос : Почему срабатывает UnboundLocalError
? Есть ли что-то под капотом import
?
Здесь foo
и scipy
- всего лишь примеры, чтобы убедиться, что импорт завершился неудачно.