Google App Engine, dev_appserver.py: WindowsError: [Ошибка 2] Система не может найти указанный файл

Я пытаюсь запустить локальный сервер разработки Google App Engine (dev_appserver.py), используя следующую команду:

python3 "C:\Users\myusername\AppData\Local\Google\Cloud SDK\google-cloud-sdk\bin\dev_appserver.py" "C:\Users\myusername\Desktop\test_gae_python3\app.yaml"

Однако я получаю следующее исключение:

# INFO     2023-02-15 23:27:07,500 devappserver2.py:317] Skipping SDK update check.
# INFO     2023-02-15 23:27:07,720 <string>:384] Starting API server at: http://localhost:50618
# INFO     2023-02-15 23:27:07,747 instance_factory.py:155] Detected python version "Python 3.9.13
# " for runtime "python39" at "python3".
# Actual environment location may have moved due to redirects, links or junctions.
#   Requested location: "c:\users\myuser~1\appdata\local\temp\tmp2cocmu\Scripts\python3.exe"
#   Actual location:    "C:\Users\myusername\AppData\Local\Temp\tmp2cocmu\Scripts\python3.exe"
# INFO     2023-02-15 23:27:17,122 instance_factory.py:312] Using pip to install dependency libraries; pip stdout is redirected to c:\users\myuser~1\appdata\local\temp\tmpsvzpsq
# INFO     2023-02-15 23:27:17,154 instance_factory.py:334] Running c:\users\myuser~1\appdata\local\temp\tmp2cocmu\bin\pip install --upgrade pip
# INFO     2023-02-15 23:27:17,155 stub_util.py:360] Applying all pending transactions and saving the datastore
# INFO     2023-02-15 23:27:17,157 stub_util.py:363] Saving search indexes
# Traceback (most recent call last):
#   File "C:\Users\myusername\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\dev_appserver.py", line 109, in <module>
#     _run_file(__file__, globals())
#   File "C:\Users\myusername\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\dev_appserver.py", line 103, in _run_file
#     _execfile(_PATHS.script_file(script_name), globals_)
#   File "C:\Users\myusername\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\dev_appserver.py", line 83, in _execfile
#     execfile(fn, scope)
#   File "C:\Users\myusername\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\devappserver2.py", line 645, in <module>
#     main()
#   File "C:\Users\myusername\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\devappserver2.py", line 633, in main
#     dev_server.start(options)
#   File "C:\Users\myusername\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\devappserver2.py", line 401, in start
#     options.api_host, apiserver.port, wsgi_request_info_)
#   File "C:\Users\myusername\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\dispatcher.py", line 272, in start
#     ssl_port)
#   File "C:\Users\myusername\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\dispatcher.py", line 409, in _create_module
#     ssl_port=ssl_port)
#   File "C:\Users\myusername\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\module.py", line 1356, in __init__
#     super(AutoScalingModule, self).__init__(**kwargs)
#   File "C:\Users\myusername\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\module.py", line 615, in __init__
#     self._module_configuration)
#   File "C:\Users\myusername\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\module.py", line 242, in _create_instance_factory
#     module_configuration=module_configuration)
#   File "C:\Users\myusername\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\python\instance_factory.py", line 207, in __init__
#     self._SetupVirtualenvFromConfiguration()
#   File "C:\Users\myusername\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\python\instance_factory.py", line 233, in _SetupVirtualenvFromConfiguration
#     self._venv_dir, self._OrigRequirementsFile)
#   File "C:\Users\myusername\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\python\instance_factory.py", line 359, in _SetupVirtualenv
#     self._RunPipInstall(venv_dir, requirements_file_name)
#   File "C:\Users\myusername\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\python\instance_factory.py", line 335, in _RunPipInstall
#     pip_proc = subprocess.Popen(pip_cmd, stdout=pip_out, env=pip_env)
#   File "C:\Users\myusername\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\bundledpython2\lib\subprocess.py", line 390, in __init__
#     errread, errwrite)
#   File "C:\Users\myusername\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\bundledpython2\lib\subprocess.py", line 640, in _execute_child
#     startupinfo)
# WindowsError: [Error 2] The system cannot find the file specified

C:\Users\myusername\Desktop\test_gae_python3\app.yaml:

runtime: python39
app_engine_apis: true
service: default
entrypoint: python3 -m app

C:\Users\myusername\Desktop\test_gae_python3\app.py:

print('OK')

Конечно, это минимальный сценарий для воспроизведения проблемы, мое реальное приложение намного сложнее.

Среда:

  • Windows 11 Профессиональная (22621.1265)
  • Питон 3.9.13
  • Google Cloud SDK 418.0.0
  • приложение-движок-python 1.9.101
  • бк 2.0.85
  • эмулятор облачного хранилища данных 2.3.0
  • ядро 2023.02.13
  • гсутил 5.20

У меня нет других версий Python, установленных в системе.

Я попытался вернуть SDK обратно на 367.0.0 и получил точно такое же исключение.

Google Cloud SDK 366.0.0 вызывает другое исключение, которое я не считаю уместным, но я могу вставить его, если это будет полезно.

Предыстория: я пытаюсь перенести сервер Python 2 на версию 3, но я застрял на этом этапе и не могу понять это.

Конечные и Readonly классы в PHP
Конечные и Readonly классы в PHP
В прошлом, когда вы не хотели, чтобы другие классы расширяли определенный класс, вы могли пометить его как final.
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
БЭМ: Конвенция об именовании CSS
БЭМ: Конвенция об именовании CSS
Я часто вижу беспорядочный код CSS, особенно если проект большой. Кроме того, я совершал эту ошибку в профессиональных или личных проектах и...
Революционная веб-разработка ServiceNow
Революционная веб-разработка ServiceNow
В быстро развивающемся мире веб-разработки ServiceNow для достижения успеха крайне важно оставаться на вершине последних тенденций и технологий. По...
Как добавить SEO(Search Engine Optimization) в наше веб-приложение и как это работает?
Как добавить SEO(Search Engine Optimization) в наше веб-приложение и как это работает?
Заголовок веб-страницы играет наиболее важную роль в SEO, он помогает поисковой системе понять, о чем ваш сайт.
Конфигурация Jest в angular
Конфигурация Jest в angular
В этой статье я рассказываю обо всех необходимых шагах, которые нужно выполнить при настройке jest в angular.
0
0
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это не поддерживается Google. Согласно документации Google

Инструмент dev_appserver не поддерживает разработку приложений Python 3 в Windows.

Я полагаю, это потому, что gunicorn не работает в Windows. Но если вы все еще хотите использовать dev_appserver.py для приложений Python 3 на компьютере с Windows, вы можете проверить созданный нами патч (патч по существу заменяет Gunicorn на официантку при запуске вашего приложения на вашем компьютере разработчика)

Спасибо, я пропустил эту заметку. Кроме того, ваш патч действительно работает и для меня, отличная работа! В качестве альтернативы я попытался запустить dev_appserver.py в Ubuntu/WSL, но это не удалось по другой причине, связанной с grpcio. В настоящее время я также рассматриваю возможность настройки среды разработки с нуля в полностью отдельной системе Linux.

Dario 17.02.2023 14:25

Другие вопросы по теме