Python 2.7 将python导入重定向到另一个模块
我正在从事一个大型的开源Python项目,该项目和其他项目都使用了模块。目标是将这些模块中的一些移出到新的“库”项目中,然后可以由原始项目和其他项目导入该项目 为了使这个转换顺利进行,我们的想法是将模块复制到新项目中,让原始项目使用新的导入。然而,为了让其他项目有时间稍后迁移,我们的想法是让原始模块重定向导入 例如,回购“中子”中的用法如下(其他项目也可以这样做): 在新创建的“中子库”项目中,模块如下所示(与“中子库”项目中的原始模块相同): 在“中子”项目中,我尝试将其作为重定向模块:Python 2.7 将python导入重定向到另一个模块,python-2.7,Python 2.7,我正在从事一个大型的开源Python项目,该项目和其他项目都使用了模块。目标是将这些模块中的一些移出到新的“库”项目中,然后可以由原始项目和其他项目导入该项目 为了使这个转换顺利进行,我们的想法是将模块复制到新项目中,让原始项目使用新的导入。然而,为了让其他项目有时间稍后迁移,我们的想法是让原始模块重定向导入 例如,回购“中子”中的用法如下(其他项目也可以这样做): 在新创建的“中子库”项目中,模块如下所示(与“中子库”项目中的原始模块相同): 在“中子”项目中,我尝试将其作为重定向模块: ca
cat neutron/redirected.py
import neutron_lib.redirected
import sys
sys.modules['neutron.redirected'] = neutron_lib.redirected
运行pylint时,会出现以下错误:
************* Module neutron.redirected
E: 1, 0: No name 'redirected' in module 'neutron_lib' (no-name-in-module)
************* Module neutron.consumer
E: 1, 0: No name 'X' in module 'neutron.redirected' (no-name-in-module)
如果我运行这个,它运行正常,consumer.py打印“5”。如果我使用ipython并加载consumer.py,我可以在dir()输出中看到“X”
知道我为什么会有这个派林错误吗?这是一个错误吗?是否有方法覆盖它?看起来,在tox下运行时,我可以将以下内容添加到.pylintrc以隐藏错误/警告
no-name-in-module
nonstandard-exception
当我运行pylint时,它现在通过了,就像运行单元测试一样。但愿我能理解为什么我会收到这些错误/警告。看起来,在tox下运行时,我可以将以下内容添加到.pylintrc以隐藏错误/警告
no-name-in-module
nonstandard-exception
当我运行pylint时,它现在通过了,就像运行单元测试一样。但愿我能理解为什么我会收到这些错误/警告。代码可以工作,但是失败了。不确定如何禁用该错误。代码可以工作,但只是失败了。不确定如何禁用该错误。
no-name-in-module
nonstandard-exception