[英]Top level imports supersede lower level imports?
在一个 jupyter 笔记本中,我有
import modin.pandas as pd
import utils
utils.py
有import pandas as pd
utils.py
中的pd
是否导入pandas
或modin.pandas
? 如果是前者,我有没有办法让utils.py
使用modin.pandas
笔记本中的 modin.pandas,而无需在utils.py
的代码中更改它
utils
模块将始终将pandas as pd
,即使您在另一个模块中将modins.pandas as pd
,在另一个模块中使用utils
模块也不会改变这一点。 这是因为符号pd
与模块字典相关联,而这个模块字典与另一个模块的字典是隔离的,这本质上代表了不同模块具有不同命名空间的核心思想。
在utils
中使用modins.pandas
的方法是更新符号pd
。 您可以通过使用setattr
方法将旧符号替换为新符号来轻松完成此操作:
import modin.pandas as pd
import utils
setattr(utils, 'pd', pd)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.