我有一个包含多个软件包的项目,例如:
development
现在,我想防止其他人可以导入特定的程序包。在上面的示例中,我希望production
模块能够导入所有类型的软件包,但我不希望development
中的任何模块都能够从var elems = document.getElementsByClassName('btn');
for (var i = elems.length - 1; i >= 0; i--) {
(function(i) {
var inner = elems[i].innerHTML;
elems[i].onclick = function(){window.alert("Clicked on "+inner+" which is element number "+i)};
})(i);
}
<button type="button" class="btn">Button A</button>
<button type="button" class="btn">Button B</button>
<button type="button" class="btn">Button C</button>
导入代码。同样,我希望计算是“独立的”,因此它只能从自身导入模块,但可以由其他模块导入。
在Python文档https://docs.python.org/3/reference/import.html中,我找到了以下摘录:
要有选择地阻止某些模块在元路径的早期从钩子导入(而不是完全禁用标准导入系统),直接从find_spec()引发ModuleNotFoundError就足够了,而不是返回None。后者表示应该继续执行元路径搜索,而引发异常会立即终止它。
但是我不确定我需要/在什么地方覆盖此方法。对于在代码库中的哪些位置需要进行这些更改的见解将不胜感激。