我在玩GAE python SDK的本地部署。我試圖運行的代碼包含許多不屬於GAE導入白名單的外部庫。我想禁用導入限制,並讓GAE應用程序導入任何本地安裝的模塊。如何禁用Google App Engine python SDK導入掛鉤?
在通過代碼後,我發現他們使用自定義導入鉤子來限制導入。但是,我一直無法弄清楚如何禁用重寫的導入鉤子。
讓我知道,如果你有任何想法如何可以完成。
我在玩GAE python SDK的本地部署。我試圖運行的代碼包含許多不屬於GAE導入白名單的外部庫。我想禁用導入限制,並讓GAE應用程序導入任何本地安裝的模塊。如何禁用Google App Engine python SDK導入掛鉤?
在通過代碼後,我發現他們使用自定義導入鉤子來限制導入。但是,我一直無法弄清楚如何禁用重寫的導入鉤子。
讓我知道,如果你有任何想法如何可以完成。
最簡單的事情就是修改google/appengine/tools/dev_appserver_import_hook.py並將你想要的模塊添加到白名單中。
這將允許您導入任何你想要的。
現在有一個很好的理由,即進口在開發服務器中受到限制。限制進口與生產環境中的可用產品相匹配。因此,如果將庫添加到白名單中,代碼可能會在本地開發服務器上運行,但它不會在生產環境中運行。
而且不,您無法在生產中導入受限模塊。
此代碼是一個研究項目的一部分,不會用於生產。我知道白名單模塊,但考慮到我的代碼依賴於許多第三方庫,我個人幾乎不可能將它們列入白名單。 – 2013-02-19 07:14:43
您可以在SDK中查找通過白名單進行搜索的代碼,並將其修改爲白名單。它在同一個文件中。 – dragonx 2013-02-19 17:07:03
只修改白名單中的檢查將不起作用,因爲檢查is_file_accessible將失敗。我評論說,檢查,但我現在遇到了一些其他問題。一旦我設法解決這個問題,我會盡快發佈更新。 – 2013-02-19 21:37:35
如果我理解正確,你只是想包括第三方庫..正確嗎? – Lipis 2013-02-19 01:44:26
[如何在Google Appengine中包含第三方Python庫?](http://stackoverflow.com/questions/14850853/how-to-include-third-party-python-libs-in-google-appengine) – Lipis 2013-02-19 01:44:35
我的代碼中使用了很多第三方庫,我幾乎不可能把它們全部列入白名單。在這裏,我只是想刪除我認爲可以解決我的問題的支票。 – 2013-02-19 07:11:36