Я пытаюсь научиться использовать модули для очистки моего кода. У меня проблемы с областью. Я понимаю, что при импорте модуля Python предоставляет этому модулю отдельную область. Я уверен, что ответ на это в документах где-то, но я не могу найти его.Импорт модуля, который требует других пакетов
создать модуль info.py
, который включает в себя функцию getStuff
:
def getStuff(key):
db_info = 'db_location' + 'db_credentials'
db = create_engine('postgresql://' + db_info)
connection = db.connect()
data = do_sql_stuff(SELECT things FROM stuff)
return(data)
Затем в интерпретаторе Python, я вход
>>>> import sqlalchemy
>>>> import info
>>>> data = getStuff(key)
и получить сообщение об ошибке
NameError: name 'create_engine' is not defined
Этот говорит, что у info.py
нет acce ss для SQLAlchemy. Если бы я определил getStuff
в интерпретаторе, он будет работать правильно.
Как настроить модуль, чтобы он мог обращаться к другим пакетам?