2014-07-07 5 views
0

Я пытаюсь научиться использовать модули для очистки моего кода. У меня проблемы с областью. Я понимаю, что при импорте модуля 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 в интерпретаторе, он будет работать правильно.

Как настроить модуль, чтобы он мог обращаться к другим пакетам?

ответ

0

Как я и ожидал, существует довольно простое решение этой проблемы. Все, что нужно сделать, это поместить операторы import в начало файла info.py.

Смежные вопросы