在Python应用程序的构建过程中,我需要忽略一些导入(因为这些模块是由构建过程创建的)。这个问题我解决不了。 所以我想我可以用import钩子这样做:
class ImportBlocker(object):
def __init__(self, *args):
self.module_names = args
def find_module(self, fullname, path=None):
if fullname in self.module_names:
return self
return None
def load_module(self, name):
raise ImportError("%s is blocked and cannot be imported" % name)
import sys
sys.meta_path = [ImportBlocker('chickenlib')]
但是因为我产生了一个错误,构建过程停止了——我只想默默地忽略导入。。。返回“None”也不起作用。 有办法吗?在
参考“静默忽略导入”,您可以尝试以下操作:
如果您正在使用python3.4或更高版本,您可以通过稍微修改示例来“静默地忽略”导入,以实现一个将创建空的模块的
exec_module
。在现在:
^{pr2}$相关问题 更多 >
编程相关推荐