Не удалось импортировать _winreg в виртуальной среде Python 2.7.9


6 ов принято

Модуль _winreg, как говорят документы , существует, чтобы «открыть API реестра Windows для Python».

App Engine не предоставляет «API реестра Windows» (или любой другой API, специфичный для Windows). Поэтому его песочница блокирует попытку sandbox.pyмодуля - обратите внимание, в конце трассировки стека, что исключение намеренно поднимается в модуле _winregSDK App Engine.

«Виртуальный env» от Python не играет здесь никакой роли - все дело в App Engine.

Просьба уточнить, с какой задачей вы пытаетесь справиться с _winregразвертыванием приложения GAE - предположите, что оно развернуто на серверах Linux (хотя время выполнения GAE не предоставляет Linux-специфические API :-), поэтому нет интерфейса реестра Windows где-нибудь по соседству ...


4

Обходной путь, предоставляемый Google, до тех пор, пока не будет выполнено исправление, выглядит следующим образом:

  • Идти к: <sdk_root>googleappengine oolsdevappserver2pythonsandbox.py
  • Найдите определение _WHITE_LIST_C_MODULES = [xxx]
  • Добавьте в список следующие две строки:

'_winreg',

'_ctypes',

Если это не удастся, запустите python -m pip install google-cloud


1

Я думаю, что проблема в том, что GAE не знает, что вы находитесь в режиме разработки, я полагаю, потому что переменная SERVER_SOFTWARE установлена ??на то, что не начинается с «Dev».

Если вы выполните следующий код (перед вызовом любой библиотеки GAE), он должен исправить проблему:

import os
os.environ['SERVER_SOFTWARE'] = 'Dev'

Примечание. Перед началом работы убедитесь, что этот код удален.


1

У меня была эта проблема несколько дней назад.

Как сказано выше, песочница GAE в Windows блокирует некоторые подпрограммы или библиотеки, даже встроенные, поскольку она разработана для Unix-подобной платформы.

Я открыл вопрос для Google Team, и они применили обходной путь:

https://issuetracker.google.com/issues/38290292

Это решение получило хорошие результаты.

питон, окна, Google-приложение двигатель, питон-2,7, WinREG,

python,windows,google-app-engine,python-2.7,winreg,

2

Ответов: 4


6 ов принято

Модуль _winreg, как говорят документы , существует, чтобы «открыть API реестра Windows для Python».

App Engine не предоставляет «API реестра Windows» (или любой другой API, специфичный для Windows). Поэтому его песочница блокирует попытку sandbox.pyмодуля - обратите внимание, в конце трассировки стека, что исключение намеренно поднимается в модуле _winregSDK App Engine.

«Виртуальный env» от Python не играет здесь никакой роли - все дело в App Engine.

Просьба уточнить, с какой задачей вы пытаетесь справиться с _winregразвертыванием приложения GAE - предположите, что оно развернуто на серверах Linux (хотя время выполнения GAE не предоставляет Linux-специфические API :-), поэтому нет интерфейса реестра Windows где-нибудь по соседству ...


4

Обходной путь, предоставляемый Google, до тех пор, пока не будет выполнено исправление, выглядит следующим образом:

  • Идти к: <sdk_root>googleappengine oolsdevappserver2pythonsandbox.py
  • Найдите определение _WHITE_LIST_C_MODULES = [xxx]
  • Добавьте в список следующие две строки:

'_winreg',

'_ctypes',

Если это не удастся, запустите python -m pip install google-cloud


1

Я думаю, что проблема в том, что GAE не знает, что вы находитесь в режиме разработки, я полагаю, потому что переменная SERVER_SOFTWARE установлена ??на то, что не начинается с «Dev».

Если вы выполните следующий код (перед вызовом любой библиотеки GAE), он должен исправить проблему:

import os
os.environ['SERVER_SOFTWARE'] = 'Dev'

Примечание. Перед началом работы убедитесь, что этот код удален.


1

У меня была эта проблема несколько дней назад.

Как сказано выше, песочница GAE в Windows блокирует некоторые подпрограммы или библиотеки, даже встроенные, поскольку она разработана для Unix-подобной платформы.

Я открыл вопрос для Google Team, и они применили обходной путь:

https://issuetracker.google.com/issues/38290292

Это решение получило хорошие результаты.

питон, окна, Google-приложение двигатель, питон-2,7, WinREG,
Похожие вопросы