Я разработал локальную программу, которая отлично работает, однако, когда я загружаю ее в CloudFoundry / Predix, некоторые несоответствия версий делают ее несовместимой. Я разрабатываю локально и использую ноутбук Jupyter. Я использую маринованные файлы. Когда я проверяю
import pandas as pd
pd.__version__
я получил
'0.20.1'
ОДНАКО, как только приложение находится в облаке, оно дает сбой. При проверке журналов он дает такие сообщения, как
2018-06-13T10: 35: 18.88 + 0200 [APP / PROC / WEB / 0] ERR /home/vcap/app/.cloudfoundry/0/python/lib/python3.4/site-packages/sklearn/base.py : 311: UserWarning: Пытаюсь отобрать средство оценки ExtraTreeRegressor из версии 0.18.1 при использовании версии 0.19.1. Это может привести к нарушению кода или неверным результатам. Используйте на свой риск.
Так вроде на сервере установлен Pandas v 0.19.1. Я не понимаю, как он думает, что маринованные файлы были маринованы с помощью Pandas 0.18.1, так как мне кажется, что я использую 0.20.1. Итак, я пытаюсь заставить Pandas иметь версию .18 или .20, помещая строку pandas==0.18.1
(или pandas==0.20.1
соответственно) в мой requirements.txt
. При выполнении cf push
я вижу такие строки, как 2018-06-13T10:18:26.81+0200 [STG/0] OUT Collecting pandas==0.18.1 (from -r /tmp/app/.cloudfoundry/0/requirements.txt (line 3))
, поэтому мне казалось, что я устанавливаю версию 0.18.1, чтобы избежать проблем с совместимостью, однако ошибка все еще сохраняется, и похоже, что я использую .19 на сервере. Что мне здесь не хватает? Как я могу убедиться, что используется версия .18?
scikit-learn
неpandas
ваша маринованная модель из более ранней версии, вам нужно будет переобучить вашу модель в версии0.19.1
, чтобы она соответствовала вашейCloudFoundry
установленной версии - person EdChum   schedule 13.06.2018