Opened 13 months ago
Last modified 13 months ago
#68542 new defect
pycryptodome fails with google appengine cloud SDK, pycrypto works
Reported by: | katzlbt (Dr. Thomas) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.1 |
Keywords: | pycrypto pycryptodome google-cloud-sdk | Cc: | |
Port: |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
Google appengine standard environment (Google cloud SDK) uses a sandbox that prohibits the use of _ctype. pycryptodome uses _ctype, which fails to import in the cloud sdk sandbox "ImportError: No module named _ctypes". This was really hard to diagnose correctly.
This incompatibility should be documented in the package descriptions of both ports, as pycryptodome is not a 100% replacement for pycrypto.
WORKAROUND: download and manually build pycrypto-2.6.1
Traceback (most recent call last): File "/Users/cat/google-cloud-sdk/platform/google_appengine/python27/sdk/google/appengine/runtime/wsgi.py", line 238, in Handle handler = _config_handle.add_wsgi_middleware(self._LoadHandler()) File "/Users/cat/google-cloud-sdk/platform/google_appengine/python27/sdk/google/appengine/runtime/wsgi.py", line 309, in _LoadHandler handler, path, err = LoadObject(self._handler) File "/Users/cat/google-cloud-sdk/platform/google_appengine/python27/sdk/google/appengine/runtime/wsgi.py", line 83, in LoadObject obj = __import__(path[0]) File "/Users/cat/repositories/locandy-web/app/main.py", line 65, in <module> pyramid_config = app_config() File "/Users/cat/repositories/locandy-web/app/main.py", line 31, in app_config config.include('pyramid_beaker') # --> includeme: of pyramid_beaker File "distlib/pyramid/config/__init__.py", line 808, in include c = self.maybe_dotted(callable) File "distlib/pyramid/config/__init__.py", line 912, in maybe_dotted return self.name_resolver.maybe_resolve(dotted) File "distlib/pyramid/path.py", line 320, in maybe_resolve return self._resolve(dotted, package) File "distlib/pyramid/path.py", line 327, in _resolve return self._zope_dottedname_style(dotted, package) File "distlib/pyramid/path.py", line 376, in _zope_dottedname_style found = __import__(used) File "distlib/pyramid_beaker/__init__.py", line 3, in <module> from beaker import cache File "distlib/beaker/cache.py", line 15, in <module> from beaker.crypto.util import sha1 File "distlib/beaker/crypto/__init__.py", line 9, in <module> from beaker.crypto.pycrypto import getKeyLength, aesEncrypt, aesDecrypt File "distlib/beaker/crypto/pycrypto.py", line 17, in <module> from Crypto.Cipher import AES File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Crypto/Cipher/__init__.py", line 27, in <module> from Crypto.Cipher._mode_ecb import _create_ecb_cipher File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Crypto/Cipher/_mode_ecb.py", line 29, in <module> from Crypto.Util._raw_api import (load_pycryptodome_raw_lib, File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Crypto/Util/_raw_api.py", line 164, in <module> INFO 2023-10-24 14:16:28,661 module.py:862] default: "GET /_ah/warmup HTTP/1.1" 500 1919 import ctypes File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 7, in <module> from _ctypes import Union, Structure, Array File "/Users/cat/google-cloud-sdk/platform/google_appengine/python27/sdk/google/appengine/tools/devappserver2/python/runtime/sandbox.py", line 1144, in load_module raise ImportError('No module named %s' % fullname) ImportError: No module named _ctypes
Change History (1)
comment:1 Changed 13 months ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|
Note: See
TracTickets for help on using
tickets.