Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 将python导入重定向到另一个模块_Python 2.7 - Fatal编程技术网

Python 2.7 将python导入重定向到另一个模块

Python 2.7 将python导入重定向到另一个模块,python-2.7,Python 2.7,我正在从事一个大型的开源Python项目,该项目和其他项目都使用了模块。目标是将这些模块中的一些移出到新的“库”项目中,然后可以由原始项目和其他项目导入该项目 为了使这个转换顺利进行,我们的想法是将模块复制到新项目中,让原始项目使用新的导入。然而,为了让其他项目有时间稍后迁移,我们的想法是让原始模块重定向导入 例如,回购“中子”中的用法如下(其他项目也可以这样做): 在新创建的“中子库”项目中,模块如下所示(与“中子库”项目中的原始模块相同): 在“中子”项目中,我尝试将其作为重定向模块: ca

我正在从事一个大型的开源Python项目,该项目和其他项目都使用了模块。目标是将这些模块中的一些移出到新的“库”项目中,然后可以由原始项目和其他项目导入该项目

为了使这个转换顺利进行,我们的想法是将模块复制到新项目中,让原始项目使用新的导入。然而,为了让其他项目有时间稍后迁移,我们的想法是让原始模块重定向导入

例如,回购“中子”中的用法如下(其他项目也可以这样做):

在新创建的“中子库”项目中,模块如下所示(与“中子库”项目中的原始模块相同):

在“中子”项目中,我尝试将其作为重定向模块:

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