是否有工具可以自动将 Python 中的绝对导入重写为相对导入?
我想为应用程序提供一个插件,这个插件需要并包含 pygments(它使用绝对导入)。所以我想重写 pygments 代码,而不是手动做所有事情。
该插件可以向 sys.path 添加一个项目以包含 pygments,但我想避免这种情况。
是否有工具可以自动将 Python 中的绝对导入重写为相对导入?
我想为应用程序提供一个插件,这个插件需要并包含 pygments(它使用绝对导入)。所以我想重写 pygments 代码,而不是手动做所有事情。
该插件可以向 sys.path 添加一个项目以包含 pygments,但我想避免这种情况。
查克移动可能对你有用。它是一个工具,可让您递归地重写整个源代码树中的导入以引用模块的新位置。
chuckmove --old sound.utils --new media.sound.utils src
...这会下降到 src,并将导入 sound.utils 的语句重写为导入 media.sound.utils。它支持所有 Python 导入格式。即from x import y
等import x.y.z as w
。