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, но я застрял на этом этапе и не могу понять это.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
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

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