ошибка gunicorn (модуль не называется сервером) в приложении на фляге, развернутом на литейном облаке через IBM cloud - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть базовое приложение для колб, которое я хочу развернуть на литейном облаке в облаке IBM.Я успешно развернул это приложение на Heroku с помощью Procfile, require.txt и всего предоставленного.сейчас я пытаюсь разместить его в облаке IBM как способ знакомства с решением, но этап сборки завершается с этой ошибкой.

ImportError: нет модуля с именем server.

Как мнеотладить это?

файл gunicorn

web: gunicorn app:app

файл манифеста

---
applications:
- instances: 1
  timeout: 180
  name: "Squad twin"
  buildpack: python_buildpack
  command: python manage.py start 0.0.0.0:$PORT
  memory: 128M
  domain: not-used.net
  host: not-used
  env:
    FLASK_APP : server
    FLASK_DEBUG : false

Ошибка вывода

2019-09-19T22:08:11.36+0100 [CELL/0] OUT Starting health monitoring of container 
2019-09-19T22:08:13.87+0100 [APP/PROC/WEB/0] ERR [
2019-09-19 21:08:13 +0000] [103] [INFO] Starting gunicorn 19.9.0 
2019-09-19T22:08:13.87+0100 [APP/PROC/WEB/0] ERR [
2019-09-19 21:08:13 +0000] [103] [INFO] Listening at: http://0.0.0.0:8080 (103) 
2019-09-19T22:08:13.87+0100 [APP/PROC/WEB/0] ERR [
2019-09-19 21:08:13 +0000] [103] [INFO] Using worker: sync 
2019-09-19T22:08:13.88+0100 [APP/PROC/WEB/0] ERR [
2019-09-19 21:08:13 +0000] [106] [INFO] Booting worker with pid: 106 
2019-09-19T22:08:13.93+0100 [APP/PROC/WEB/0] ERR [
2019-09-19 21:08:13 +0000] [106] [ERROR] Exception in worker process 
2019-09-19T22:08:13.93+0100 [APP/PROC/WEB/0] ERR Traceback (most recent call last): 
2019-09-19T22:08:13.93+0100 [APP/PROC/WEB/0] ERR File "/home/vcap/deps/0/python/lib/python3.7/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker 
2019-09-19T22:08:13.93+0100 [APP/PROC/WEB/0] ERR worker.init_process() 
2019-09-19T22:08:13.93+0100 [APP/PROC/WEB/0] ERR File "/home/vcap/deps/0/python/lib/python3.7/site-packages/gunicorn/workers/base.py", line 129, in init_process 
2019-09-19T22:08:13.93+0100 [APP/PROC/WEB/0] ERR self.load_wsgi() 
2019-09-19T22:08:13.93+0100 [APP/PROC/WEB/0] ERR File "/home/vcap/deps/0/python/lib/python3.7/site-packages/gunicorn/workers/base.py", line 138, in load_wsgi 
2019-09-19T22:08:13.93+0100 [APP/PROC/WEB/0] ERR self.wsgi = self.app.wsgi() 
2019-09-19T22:08:13.93+0100 [APP/PROC/WEB/0] ERR File "/home/vcap/deps/0/python/lib/python3.7/site-packages/gunicorn/app/base.py", line 67, in wsgi 
2019-09-19T22:08:13.93+0100 [APP/PROC/WEB/0] ERR self.callable = self.load() 
2019-09-19T22:08:13.93+0100 [APP/PROC/WEB/0] ERR File "/home/vcap/deps/0/python/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load 
2019-09-19T22:08:13.93+0100 [APP/PROC/WEB/0] ERR return self.load_wsgiapp() 
2019-09-19T22:08:13.93+0100 [APP/PROC/WEB/0] ERR File "/home/vcap/deps/0/python/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp 
2019-09-19T22:08:13.93+0100 [APP/PROC/WEB/0] ERR return util.import_app(self.app_uri) 
2019-09-19T22:08:13.93+0100 [APP/PROC/WEB/0] ERR File "/home/vcap/deps/0/python/lib/python3.7/site-packages/gunicorn/util.py", line 350, in import_app 
2019-09-19T22:08:13.93+0100 [APP/PROC/WEB/0] ERR import(module) 
2019-09-19T22:08:13.93+0100 [APP/PROC/WEB/0] ERR ModuleNotFoundError: No module named 'server' 
2019-09-19T22:08:13.93+0100 [APP/PROC/WEB/0] ERR [
2019-09-19 21:08:13 +0000] [106] [INFO] Worker exiting (pid: 106) 
2019-09-19T22:08:13.96+0100 [APP/PROC/WEB/0] ERR [
2019-09-19 21:08:13 +0000] [103] [INFO] Shutting down: Master 
2019-09-19T22:08:13.96+0100 [APP/PROC/WEB/0] ERR [
2019-09-19 21:08:13 +0000] [103] [INFO] Reason: Worker failed to boot. 
2019-09-19T22:08:14.04+0100 [APP/PROC/WEB/0] OUT Exit status 0 
2019-09-19T22:08:14.04+0100 [CELL/SSHD/0] OUT Exit status 0 >

Я пытался использовать flask run иpython3 app.py в Procfile безрезультатно.Я также добавил файлы manage.py, manifest.yml, runtime.txt и даже setup.py, используя руководство по началу работы с облаком IBM, но ошибка по-прежнему сохраняется.

1 Ответ

1 голос
/ 22 сентября 2019

Я полагаю, что command на manifest.yml переопределяет значение в Procfile.

Измените command на manifest.yml на:

gunicorn --bind 0.0.0.0:$PORT app:app

...