«ImportError: нет модуля с именем pwd», но он существует

Я пытаюсь проверить gae-patplate локально, но когда я пытаюсь создать новую учетную запись, появляется следующая ошибка.

Странно то, что если я открою интерпретатор python и наберите «import pwd», он будет работать.

Internal Server Error The server has either erred or is incapable of performing the requested operation. Traceback (most recent call last): File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.2/webapp2.py", line 1535, in __call__ rv = self.handle_exception(request, response, e) File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.2/webapp2.py", line 1529, in __call__ rv = self.router.dispatch(request, response) File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.2/webapp2.py", line 1278, in default_dispatcher return route.handler_adapter(request, response) File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.2/webapp2.py", line 1102, in __call__ return handler.dispatch() File "/Users/moisesguimaraes/workspaces/python/mtgtradelist/boilerplate/lib/basehandler.py", line 88, in dispatch webapp2.RequestHandler.dispatch(self) File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.2/webapp2.py", line 572, in dispatch return self.handle_exception(e, self.app.debug) File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.2/webapp2.py", line 570, in dispatch return method(*args, **kwargs) File "/Users/moisesguimaraes/workspaces/python/mtgtradelist/boilerplate/handlers.py", line 766, in post password = utils.hashing(password, self.app.config.get('salt')) File "/Users/moisesguimaraes/workspaces/python/mtgtradelist/boilerplate/lib/utils.py", line 38, in hashing from Crypto.Cipher import AES File "/Library/Python/2.7/site-packages/pycrypto-2.6-py2.7-macosx-10.8-intel.egg/Crypto/Cipher/AES.py", line 50, in <module> File "/Library/Python/2.7/site-packages/pycrypto-2.6-py2.7-macosx-10.8-intel.egg/Crypto/Cipher/_AES.py", line 7, in <module> File "/Library/Python/2.7/site-packages/pycrypto-2.6-py2.7-macosx-10.8-intel.egg/Crypto/Cipher/_AES.py", line 4, in __bootstrap__ File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/setuptools-0.6c11/pkg_resources.py", line 882, in resource_filename self, resource_name File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/setuptools-0.6c11/pkg_resources.py", line 1351, in get_resource_filename self._extract_resource(manager, self._eager_to_zip(name)) File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/setuptools-0.6c11/pkg_resources.py", line 1373, in _extract_resource self.egg_name, self._parts(zip_path) File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/setuptools-0.6c11/pkg_resources.py", line 957, in get_cache_path extract_path = self.extraction_path or get_default_cache() File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/setuptools-0.6c11/pkg_resources.py", line 1080, in get_default_cache return os.path.expanduser('~/.python-eggs') File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpath.py", line 259, in expanduser import pwd File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/python/sandbox.py", line 835, in load_module raise ImportError('No module named %s' % fullname) ImportError: No module named pwd 

2 Solutions collect form web for “«ImportError: нет модуля с именем pwd», но он существует”

Я считаю, что эта проблема была внесена в обновление AppEngine SDK. В настоящее время я использую версию 1.8.6. Gae-setplate README утверждает, что его «проверили с SDK версии 1.8.1»,

Мне удалось запустить его локально, запустив old_dev_appserver.py <application root> old_dev_appserver.py предоставлен SDK и находится в том же каталоге, что и dev_appserver.py.

Основываясь на полученной трассировке, она выглядит как файл-шаблон / внешний / request / utils.py импортирует netrc, который импортирует pwd. Более новая версия SDK не позволяет вам импортировать модуль pwd в режим песочницы.

Вероятно, вы установили pycrypto с easy_install . Если вы переустановите его с помощью pip , все должно работать:

 pip uninstall pycrypto pip install pycrypto 

Обратите внимание, что pip uninstall даже если оно было установлено с помощью easy_install . Вам также может потребоваться использование sudo .

Если у вас нет pip , установите его так:

 sudo easy_install pip 
  • как установить six.moves.xmlrpc_client?
  • pygame для python 2.7.3
  • Python 2.7.3 + OpenCV 2.4 после поворота не подходит Изображение
  • Как бы я ввел строки пути файла в список, основываясь на соответствующих путях папок в Python
  • Сбор данных из определенных файлов
  • Pandas: как использовать функцию apply для нескольких столбцов
  • Как обернуть указатель и длину C в объект буфера нового стиля в Cython?
  • Преобразование строки Unicode в китайский символ
  • Python - лучший язык программирования в мире.