Как отключить импорт Google App Engine python SDK?

Я играю с локальным развертыванием GAE python SDK. Код, который я пытаюсь запустить, содержит множество внешних библиотек, которые не входят в белый список импорта GAE. Я хочу отключить ограничения на импорт и позволить приложению GAE импортировать любой локально установленный модуль.

Изучив код, я понял, что они используют настраиваемые перехватчики импорта для ограничения импорта. Однако я не смог понять, как отключить переопределенный хук импорта.

Дайте мне знать, если у вас есть идеи, как это можно сделать.


person AKG    schedule 19.02.2013    source источник
comment
Если я правильно понял, вы просто хотите включить сторонние библиотеки... верно?   -  person Lipis    schedule 19.02.2013
comment
возможный дубликат Как включить сторонние библиотеки Python в Google приложение?   -  person Lipis    schedule 19.02.2013
comment
У меня много сторонних библиотек, используемых в моем коде, и мне практически невозможно внести их все в белый список. Здесь я просто хочу удалить проверку, которая, я думаю, решит мою проблему.   -  person AKG    schedule 19.02.2013


Ответы (1)


Проще всего изменить google/appengine/tools/dev_appserver_import_hook.py и добавить нужный модуль в белый список.

Это позволит вам импортировать все, что вы хотите.

Теперь есть веская причина, по которой импорт ограничен на сервере разработки. Ограниченный импорт соответствует тому, что доступно в производственной среде. Поэтому, если вы добавите библиотеки в белый список, ваш код может работать на вашем локальном сервере разработки, но не будет работать в производственной среде.

И нет, вы не можете импортировать ограниченные модули в производство.

person dragonx    schedule 19.02.2013
comment
Этот код является частью исследовательского проекта и не будет использоваться в производстве. Я знаю о модулях белого списка, но, учитывая, что мой код зависит от многих сторонних библиотек, мне практически невозможно внести их в белый список по отдельности. - person AKG; 19.02.2013
comment
Вы можете найти код в SDK, который выполняет поиск по белому списку, и изменить его, чтобы добавить в белый список все. Это в том же файле. - person dragonx; 19.02.2013
comment
Изменение только проверки только в белом списке не будет работать, потому что проверка is_file_accessible завершится ошибкой. Я также прокомментировал эту проверку, но теперь столкнулся с другой проблемой. Я опубликую обновление, как только мне удастся решить эту проблему. - person AKG; 20.02.2013