在python中如何避免包上下文中的模块名冲突(不重命名)?
可能重复:在python中如何避免包上下文中的模块名冲突(不重命名)?,python,namespaces,package,Python,Namespaces,Package,可能重复: 从包内的模块,是否有方法忽略给定导入的包上下文?因为包中包含另一个模块,该模块的名称与要从系统而不是从包中导入的模块的名称相同 有没有办法解决这个问题而不重命名其他模块?您是否尝试过 import mypackage.vim as mypvim import vim 您可以使用“as”语句为导入的内容提供另一个别名。您能举个例子吗?如果使用绝对导入,默认行为是首先尝试系统包。@BrenBarn在这种情况下,我无法使用绝对导入。这是一个pythonvim插件,当VIM加载pytho
从包内的模块,是否有方法忽略给定导入的包上下文?因为包中包含另一个模块,该模块的名称与要从系统而不是从包中导入的模块的名称相同 有没有办法解决这个问题而不重命名其他模块?您是否尝试过
import mypackage.vim as mypvim
import vim
您可以使用“as”语句为导入的内容提供另一个别名。您能举个例子吗?如果使用绝对导入,默认行为是首先尝试系统包。@BrenBarn在这种情况下,我无法使用绝对导入。这是一个pythonvim插件,当VIM加载python时,我有一个名为simply
VIM
的模块,可以在脚本和模块中导入。问题是,我还有一个子模块mypackage.vim
和模块mypackage.x
我想导入vim
,但不是从包中导入的,我想要的是vim提供的。主脚本使用我的vim
模块没有问题,因为它使用它作为mypackage.vim.myfuction(“hello world”)
,它与vim.vim_函数()不冲突。但是当我需要从包中的模块内部使用vim.vim_function()
时,问题就出现了。只是标记为的副本。不起作用。我已经放弃并更改了模块的名称=/