Когда я пытаюсь развернуть в GAE, с:
gcloud app deploy
в строке cmd, это ошибка через несколько минут во время сборки.
Я могу запустить его локально на моем Mac (mojave 10.14.3) просто отлично - на localhost
Локально я использую python 3.6 и последнюю версию pip (19.1.1) для пакетов
Экземпляр gcloud - это машина Ubuntu, работающая на python 2.7 или 3.6.
В моем файле конфигурации app.yaml я установил Python 3.
Файл app.yaml:
runtime: python
env: flex
entrypoint: gunicorn app:app.server -b :$PORT
threadsafe: false
runtime_config:
python_version: 2
resources:
cpu: 1
memory_gb: 1
disk_size_gb: 10
Файл needs.txt:
dash==0.21.0
dash-core-components==0.22.1
dash-html-components==0.10.0
dash-renderer==0.12.1
Flask==0.12
pandas==0.22.0
plotly==2.5.1
gunicorn==19.9.0
flask_login==0.4.1
flask_sqlalchemy==2.4.0
configparser==3.7.4
arrow==0.14.2
dash-daq==0.1.5
sqlalchemy==1.3.4
scipy==0.17.0
numpy==1.16.4
pillow==6.0.0
dash_daq==0.1.5
certifi==2019.3.9
retrying==1.3.3
urllib3==1.25.3
requests==2.22.0
Я пробовал в основном все! от переключения моего локального на Python 2.7 и конфигурации облака.
Все комбинации файла app.yaml. Я исправил все ошибки пакета.
Возможно, я ожидаю, что мне может понадобиться сборка пользовательской среды через .Dockerfile. но не ясно, какая именно настройка необходима. Кроме того, это разочаровывает, так как каждый раз, когда я пытаюсь развернуться, требуется несколько минут для развертывания .. (любой совет, чтобы ускорить ??)
Мой "основной" (app.py) файл:
# index page
import dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
import sys
#sys.path.append('/Users/crowledj/Mindfule/dash-flask-login/views/')
#sys.path.append('/Users/crowledj/Mindfule/dash-flask-login/flask_login/')
external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
app = dash.Dash(__name__, external_stylesheets=external_stylesheets)
#server=app.server
#app.css.append_css({'external_url': 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css'})
from server import app, server
from flask_login import logout_user, current_user
import success, login, login_fd, logout
Для импорта и его окончательной строки:
if __name__ == '__main__':
app.run_server(debug= False,port=8080,host= "foodmoodai.appspot.com")
Импорт моего основного файла кода приложения:
import dash
#import dash_auth
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output, State
import dash_daq as daq
import plotly.graph_objs as go
from textwrap import dedent as d
from flask import Flask
import pandas as pd
import numpy as np
from NutrientParser import parseNutrientStr_frmUser,parseResearch,parseFoodResearch,find_substring
from userMindfuleClasses import *
#import time
#import dash_table as dtable
#import base64
import PIL
import urllib3
from PIL import Image
import json,os
import arrow
from server import app
Основная ошибка в журналах сборки - сбой сборки scipy ...:
Step #1: Running setup.py bdist_wheel for scipy: started
Step #1: Running setup.py bdist_wheel for scipy: finished with status 'error'
Step #1: Complete output from command /env/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-m9tl_bsf/scipy/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-db6mbz4m --python-tag cp36:
Step #1: Traceback (most recent call last):
Step #1: File "<string>", line 1, in <module>
Step #1: File "/tmp/pip-install-m9tl_bsf/scipy/setup.py", line 265, in <module>
Step #1: setup_package()
Step #1: File "/tmp/pip-install-m9tl_bsf/scipy/setup.py", line 253, in setup_package
Step #1: from numpy.distutils.core import setup
Step #1: ModuleNotFoundError: No module named 'numpy'
Step #1:
Step #1: ----------------------------------------
Step #1: Failed building wheel for scipy
Step #1: Running setup.py clean for scipy
Еще одна подсказка лежит над этим в полных журналах ошибок.
В нем также указывалось, что у меня есть старая версия pip для экземпляра и что существует гораздо более современная версия. Как это можно сделать - т.е. обновить в инстансе?!
Кстати, я проверил вход в систему, консоль ядра своего приложения и те же данные: (