1

我在本地开发了一个运行良好的程序,但是当我将它推送到 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: 用户警告:在使用 0.19.1 版本时,尝试从 0.18.1 版本中解开估计器 ExtraTreeRegressor。这可能会导致破坏代码或无效结果。使用风险自负。

所以似乎在服务器上安装了 Pandas v 0.19.1。我不明白它如何认为腌制文件是用 Pandas 0.18.1 腌制的,因为在我看来我使用的是 0.20.1。所以我试图通过将行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 版本?

4

1 回答 1

0

错误:

/home/vcap/app/.cloudfoundry/0/python/lib/python3.4/site-packages/sklearn/base.py:311:用户警告:使用 0.19.1 版本时,尝试从 0.18.1 版本中解开估计器 ExtraTreeRegressor . 这可能会导致破坏代码或无效结果。使用风险自负。

是在抱怨scikit-learn而不是pandas,它表明您的腌制模型来自早期版本,因此要么使用已安装的版本重新训练,要么将版本强制为训练腌制模型的版本

于 2018-06-13T09:03:20.870 回答