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解释,I输入
>>>> import sqlalchemy
>>>> import info
>>>> data = getStuff(key)
和得到的错误消息
NameError: name 'create_engine' is not defined
这告诉我info.py
没有接受ss到SQLAlchemy。如果我在解释器中定义getStuff
,它会正确运行。
如何设置模块以便访问其他软件包?