如何阻止导入特定 python 包?

How to block import of specific python package?

我需要以编程方式阻止导入 python 包和所有子包。

例如,我需要阻止包 "foo" 的加载,并确保无法导入 foo 的所有子项,例如 "foo.bar"。

在 python 2.x 中如何在不重构我的站点包或 PYTHONPATH 的情况下实现这一点?

就上下文而言,其目的是以编程方式避免将专有代码导入 GPL 许可代码的风险。

这可能不适合您的解决方案完全,但您可以简单地模拟整个模块,这样该模块及其所有子模块都不起作用:

https://pypi.python.org/pypi/mock