2016-01-11 43 views
1

我正在嘗試Windows PC上的GAE Python應用程序。雖然使用下面的代碼我遇到了一個No crypto library available錯誤:Windows PC上的Python 2.7中沒有可用的加密庫

from oauth2client.client import SignedJwtAssertionCredentials 
json_key=json.load(open('DriveCredentials.json')) 
scope = ['https://spreadsheets.google.com/feeds'] 
credentials = SignedJwtAssertionCredentials(json_key['client_email'], json_key['private_key'].encode(), scope) 

this,我需要安裝PyOpenSSL。我做到了,但仍然得到相同的錯誤。從這個Google Groups conversation,假設它不會在Windows環境中工作,因爲crypt模塊在Windows中不可用。它是否正確?

我將該項目部署到GAE,儘管無法在本地PC上運行,但它在Google服務器上運行良好。

這是一個已知的問題,在Windows PC上的開發是不可能的SignedJwtAssertionCredentials?有沒有解決方法?

我以前在另一個應用程序的Windows上的Python 3.4環境中有相同的代碼,並且工作正常。

+0

您是否在app.yaml文件中包含了pycrypto庫?請參閱:http://stackoverflow.com/a/28539143/783657 –

+0

是的。完全相同的文件無法在我的電腦上運行,但如果推送到Google App Engine則運行正常。 –

+0

PyCrypto和PyOpenSSL有什麼關係? –

回答

1

您需要下載並安裝Voidspace PyCrypto二進制文件的Windows:

http://www.voidspace.org.uk/python/modules.shtml#pycrypto

某些國家對出口的加密算法像PyCrypto限制。爲了安全起見,PyCrypto不直接提供這些。因此,您必須從這些第三方網站下載並安裝它,而不是使用像pip這樣的標準工具。

+0

另請參閱http://stackoverflow.com/a/11405769/3953357。 – Adam

相關問題