2015-05-22 3 views
-1

Мне нужно программно блокировать импорт пакета python и всех дочерних пакетов.Как заблокировать импорт определенного пакета python?

Например, мне нужно заблокировать загрузку пакета «foo», а также убедиться, что все дочерние элементы foo, такие как «foo.bar», не могут быть импортированы.

Как это можно достичь в python 2.x без реструктуризации пакетов моего сайта или PYTHONPATH?

В контексте, цель состоит в том, чтобы программно избежать риска импорта проприетарного кода в лицензионный код GPL.

+6

Я мироощущение [XY Проблемы] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). – TigerhawkT3

+0

Что вы ожидаете, если вызывается 'import foo', вызывают исключение? – laike9m

+2

просто добавьте пустую foo.py справа от главной точки входа скрипта (то есть main.py) или поместите 'raise Exception (« No Foo allowed »)' в файл –

ответ

0

Это не может соответствовать вашему решению точно но вы можете просто издеваетесь из всего модуля, поэтому модуль и все его подмодули не имеют никакого эффекта:

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

Смежные вопросы