#python-3.x #google-app-engine #google-cloud-platform #cmake #google-app-engine-python
#python-3.x #google-app-engine #google-облачная платформа #cmake #google-app-engine-python
Вопрос:
Мне нужно установить dlib
пакет на стандарт App Engine для приложения, которое требует cmake
. Ниже приведена ошибка, с которой я столкнулся во время установки.
Я попытался добавить cmake
и cmake-setup
в requirements.txt но бесполезно.
ERROR: Failed to build one or more wheels
ERROR: Failed building wheel for dlib
----------------------------------------
*******************************************************************
CMake must be installed to build the following extensions: _dlib_pybind11
*******************************************************************
RuntimeError:
"n*******************************************************************n")
File "/tmp/pip-wheel-hz_z90ap/dlib/setup.py", line 125, in get_cmake_version
cmake_version = self.get_cmake_version()
File "/tmp/pip-wheel-hz_z90ap/dlib/setup.py", line 129, in run
cmd_obj.run()
File "/opt/python3.7/lib/python3.7/distutils/dist.py", line 985, in run_command
self.distribution.run_command(command)
File "/opt/python3.7/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.run_command(cmd_name)
File "/opt/python3.7/lib/python3.7/distutils/command/build.py", line 135, in run
cmd_obj.run()
File "/opt/python3.7/lib/python3.7/distutils/dist.py", line 985, in run_command
self.distribution.run_command(command)
File "/opt/python3.7/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.run_command('build')
File "/env/lib/python3.7/site-packages/wheel/bdist_wheel.py", line 290, in run
cmd_obj.run()
File "/opt/python3.7/lib/python3.7/distutils/dist.py", line 985, in run_command
self.run_command(cmd)
File "/opt/python3.7/lib/python3.7/distutils/dist.py", line 966, in run_commands
dist.run_commands()
File "/opt/python3.7/lib/python3.7/distutils/core.py", line 148, in setup
return distutils.core.setup(**attrs)
File "/env/lib/python3.7/site-packages/setuptools/__init__.py", line 144, in setup
'Topic :: Software Development',
File "/tmp/pip-wheel-hz_z90ap/dlib/setup.py", line 262, in <module>
File "<string>", line 1, in <module>
Traceback (most recent call last):
...
Пожалуйста, предложите исправление.
Ответ №1:
Вы можете использовать зависимости, отличные от Python, в гибкой среде с помощью настраиваемой среды выполнения. Из О пользовательских средах выполнения:
Пользовательские среды выполнения позволяют определять новые среды выполнения, которые могут включать дополнительные компоненты, такие как языковые интерпретаторы или серверы приложений.
Смотрите также Создание пользовательских сред выполнения.
Комментарии:
1. Я уже развернул его на App Engine Flex через пользовательскую среду выполнения. Проблема: 1. Время сборки составляет более 30 минут 2. Время масштабирования экземпляра больше. 3. Кроме того, как сказал Гийом, экземпляр не масштабируется до 0, когда он не используется.
Ответ №2:
Если вы хотите настроить свою среду, вы можете использовать контейнер. Разверните его на App Engine flexible, как предложил Дастин, но будьте осторожны, App Engine Flex не масштабируется до 0, и, таким образом, вы платите, даже если ваш сервис не используется.
Поскольку у вас есть контейнер, я рекомендую вам взглянуть на Cloud Run. Он похож на App Engine, но масштабируется до 0 и является очень мощным.