Я пытаюсь получить модуль для импорта, но только если вызывается объект определенного класса. Например:
class One(object):
try:
import OneHelper
except ImportError:
pass
def __init__(self):
# this function doesn't use OneHelper
...
def blah(self):
# this function does
OneHelper.blah()
Это вызывает NameError: глобальное имя OneHelper не определено
при вызове функции One.blah ()
. Пока что единственное, что я обнаружил, что работает, - это импорт модуля в фактические функции, которые его используют. Итак:
class One(object):
def __init__(self):
# this function doesn't use OneHelper
...
def blah(self):
try:
import OneHelper
except ImportError:
pass
# this function does
OneHelper.blah()
Но я не хочу импортировать модуль в каждую функцию, в которой я хочу его использовать, я хочу, чтобы он был доступен для всего класса, но только , если экземпляр этот класс создается. Приносим извинения, если я недостаточно ясен ...