簡體   English   中英

無法將python-social-auth導入Google App Engine的django項目

[英]Cannot import python-social-auth into Google App Engine's django project

我通過pip安裝了python-social-auth

>>> import social
>>> print social
<module 'social' from '/usr/local/lib/python2.7/dist-packages/social/__init__.pyc'>

當我試圖運行我的django項目時,它抱怨沒有名為social的模塊

File "/media/PROJECT/project/BINGO/bingo/django/utils/importlib.py", line 35, in import_module __import__(name)
ImportError: No module named social.apps.django_app.default

將模塊放在我要在本地使用的項目文件夾中,它可以工作:

>>> import os
>>> print os.getcwd()
/media/PROJECT/project/BINGO/bingo
>>> import social
>>> print social
<module 'social' from 'social/__init__.pyc'>

但是,現在無法找到它的依賴項

File "/media/PROJECT/project/BINGO/bingo/social/apps/django_app/default/models.py", line 2, in <module> 
   import six
ImportError: No module named six

我確實在全球安裝了六個。 如果我在本地使用六個,另一個依賴, openid ,則無法找到。 我想我仍然可以繼續在本地添加所有依賴項,但為什么不導入我的全局模塊?

謝謝!

你真的需要閱讀關於appengine的文檔和沙盒。 不是由sdk直接提供的所有內容(模塊/庫)必須包含在您的項目中。 所有這些都必須與您的代碼一起部署。

因此,您無法使用全局安裝的模塊及其依賴項。 這一切都需要在您的項目中存在(安裝或鏈接)。

我使用virtualenv --no-site-packages來安裝所有模塊及其依賴項,然后將這些位從本地站點包中符號鏈接到我的項目中的lib目錄。

我只找到了openid和六個依賴項。 實際上,由於某種原因無法讓six.py全局安裝,所以只需將副本轉儲到每個必需的目錄中。 此外,如果PY2然后導致默認導入json無聲地失敗,則遇到basetring轉換的問題,因此不得不交換到'simplejson'。 但最終,讓它運作起來。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM