You need to install PyCrypto yourself. Grab the tarball 
from https://www.dlitz.net/software/pycrypto/ and run setup.py. 
Unfortunately, installing PyCrypto using easy_install won't work with the 
dev_appserver on OSX.

On Tuesday, 2 October 2012 20:30:46 UTC+10, coto wrote:
>
> What's the best way on getting pycrypto to work for dev with GAE?
>
> We are using Crypto in this open source project 
> https://github.com/coto/gae-boilerplate/blob/master/boilerplate/lib/utils.py#L11
>
> But this is what happen when you run locallly:
>
> /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python 
> /usr/local/google_appengine/dev_appserver.py .
> WARNING  2012-10-02 10:07:30,936 rdbms_mysqldb.py:74] The rdbms API is not 
> available because the MySQLdb library could not be loaded.
> WARNING  2012-10-02 10:07:31,431 datastore_file_stub.py:518] Could not 
> read datastore data from 
> /var/folders/zr/tclqpy5j6fx797t1fqf2j_d00000gn/T/dev_appserver.datastore
> WARNING  2012-10-02 10:07:31,469 dev_appserver.py:3621] Could not 
> initialize images API; you are likely missing the Python "PIL" module. 
> ImportError: No module named _imaging
> INFO     2012-10-02 10:07:31,568 dev_appserver_multiprocess.py:655] 
> Running application dev~sandengine on port 8080: http://localhost:8080
> INFO     2012-10-02 10:07:31,568 dev_appserver_multiprocess.py:657] Admin 
> console is available at: http://localhost:8080/_ah/admin
> INFO     2012-10-02 10:07:37,680 recording.py:673] Saved; key: 
> __appstats__:057600, part: 27 bytes, full: 1643 bytes, overhead: 0.000 + 
> 0.001; link: http://localhost:8080/_ah/stats/details?time=1349172457674
> INFO     2012-10-02 10:07:37,696 dev_appserver.py:3056] "GET /_ah/admin 
> HTTP/1.1" 302 -
> INFO     2012-10-02 10:07:37,868 recording.py:673] Saved; key: 
> __appstats__:057700, part: 112 bytes, full: 14075 bytes, overhead: 0.001 + 
> 0.007; link: http://localhost:8080/_ah/stats/details?time=1349172457722
> INFO     2012-10-02 10:07:37,902 dev_appserver.py:3056] "GET 
> /_ah/admin/datastore HTTP/1.1" 200 -
> INFO     2012-10-02 10:07:38,325 recording.py:673] Saved; key: 
> __appstats__:058200, part: 42 bytes, full: 1694 bytes, overhead: 0.000 + 
> 0.001; link: http://localhost:8080/_ah/stats/details?time=1349172458266
> INFO     2012-10-02 10:07:38,350 dev_appserver.py:3056] "GET 
> /_ah/admin/images/google.gif HTTP/1.1" 200 -
> ERROR    2012-10-02 10:07:42,392 wsgi.py:203] 
> Traceback (most recent call last):
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py",
>  
> line 195, in Handle
>     handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py",
>  
> line 239, in _LoadHandler
>     handler = __import__(path[0])
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 719, in Decorate
>     return func(self, *args, **kwargs)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 1923, in load_module
>     return self.FindAndLoadModule(submodule, fullname, search_path)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 719, in Decorate
>     return func(self, *args, **kwargs)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 1787, in FindAndLoadModule
>     description)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 719, in Decorate
>     return func(self, *args, **kwargs)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 1730, in LoadModuleRestricted
>     description)
>   File "/Users/coto/gae-boilerplate/main.py", line 25, in <module>
>     import routes
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 719, in Decorate
>     return func(self, *args, **kwargs)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 1923, in load_module
>     return self.FindAndLoadModule(submodule, fullname, search_path)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 719, in Decorate
>     return func(self, *args, **kwargs)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 1787, in FindAndLoadModule
>     description)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 719, in Decorate
>     return func(self, *args, **kwargs)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 1730, in LoadModuleRestricted
>     description)
>   File "/Users/coto/gae-boilerplate/routes.py", line 8, in <module>
>     from web import handlers
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 719, in Decorate
>     return func(self, *args, **kwargs)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 1923, in load_module
>     return self.FindAndLoadModule(submodule, fullname, search_path)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 719, in Decorate
>     return func(self, *args, **kwargs)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 1787, in FindAndLoadModule
>     description)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 719, in Decorate
>     return func(self, *args, **kwargs)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 1730, in LoadModuleRestricted
>     description)
>   File "/Users/coto/gae-boilerplate/web/handlers.py", line 13, in <module>
>     from boilerplate.lib.basehandler import BaseHandler
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 719, in Decorate
>     return func(self, *args, **kwargs)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 1923, in load_module
>     return self.FindAndLoadModule(submodule, fullname, search_path)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 719, in Decorate
>     return func(self, *args, **kwargs)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 1787, in FindAndLoadModule
>     description)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 719, in Decorate
>     return func(self, *args, **kwargs)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 1730, in LoadModuleRestricted
>     description)
>   File "/Users/coto/gae-boilerplate/boilerplate/lib/basehandler.py", line 
> 14, in <module>
>     from boilerplate.lib import utils, i18n
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 719, in Decorate
>     return func(self, *args, **kwargs)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 1923, in load_module
>     return self.FindAndLoadModule(submodule, fullname, search_path)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 719, in Decorate
>     return func(self, *args, **kwargs)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 1787, in FindAndLoadModule
>     description)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 719, in Decorate
>     return func(self, *args, **kwargs)
>   File 
> "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
>  
> line 1730, in LoadModuleRestricted
>     description)
>   File "/Users/coto/gae-boilerplate/boilerplate/lib/utils.py", line 11, in 
> <module>
>     from Crypto.Cipher import AES
> ImportError: No module named Crypto.Cipher
> INFO     2012-10-02 10:07:42,467 dev_appserver.py:3056] "GET / HTTP/1.1" 
> 500 -
>
>
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/Kj4dEFmBAiwJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to