已移动的模块
(函数来自 pyomo.common.deprecation)
- pyomo.common.deprecation.moved_module(old_name, new_name, msg=NOTSET, logger=None, version=None, remove_in=None)[source]
为移动/重命名的模块提供弃用路径
此函数挂钩到Python的
importlib,使得任何对old_name的导入都会改为导入并返回来自new_name的模块。新模块会自动注册到sys.modules中,同时使用旧名称和新名称。因为
moved_module()通过 Python 的importlib系统工作,旧的模块文件可以完全 删除(与 [已弃用] 的relocated_module()函数不同)。对moved_module()的调用应放置在 包层次结构中已删除模块之上的任何包中(或任何 其他保证在通过旧名称导入模块之前被导入/执行的位置)。通过旧名称导入模块时,除非
msg为None,否则将发出弃用警告(另请参见deprecated())。- Parameters:
old_name (str) – 原始(完全限定)模块名称(已被移除)
new_name (str) – 新的(完全限定的)模块名称
msg (str) – 自定义的弃用消息。如果为 None,则弃用消息将被抑制。如果为 NOTSET(默认值),将记录一个通用的弃用消息。
logger (str) – 用于发出警告的日志记录器(默认:调用pyomo包,或“pyomo”)
version (str [required]) – 模块被重命名或移动的版本。通常的做法是在开发过程中将版本设置为当前开发版本(来自pyomo –version),并在发布过程中将其更新为实际发布版本。
remove_in (str) – 模块将从代码中移除的版本。
示例
>>> from pyomo.common.deprecation import moved_module >>> moved_module( ... 'pyomo.common.old_deprecation', ... 'pyomo.common.deprecation', ... version='1.2.3', ... ) >>> import pyomo.common.old_deprecation WARNING: DEPRECATED: The 'pyomo.common.old_deprecation' module has been moved to 'pyomo.common.deprecation'. Please update your import. (deprecated in 1.2.3) ... >>> import pyomo.common.deprecation >>> pyomo.common.old_deprecation is pyomo.common.deprecation True