CloudFoundry force pandas 版本

CloudFoundry force pandas version

我在本地开发了一个运行良好的程序,但是当我将它推送到 CloudFoundry/Predix 时,一些版本差异导致它不兼容。我在本地开发并使用 Jupyter notebook。我使用一些腌制的文件。当我检查

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: Trying to unpickle estimator ExtraTreeRegressor from version 0.18.1 when using version 0.19.1. This might lead to breaking code or invalid results. Use at your own risk.

服务器上似乎安装了 Pandas v 0.19.1。我不明白它如何认为腌制文件是用 Pandas 0.18.1 腌制的,因为在我看来我使用的是 0.20.1。因此,我试图通过在我的 requirements.txt 中放置行 pandas==0.18.1(或分别为 pandas==0.20.1)来强制 Pandas 成为版本 .18 或 .20。在执行 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 版本?

错误:

/home/vcap/app/.cloudfoundry/0/python/lib/python3.4/site-packages/sklearn/base.py:311: UserWarning: Trying to unpickle estimator ExtraTreeRegressor from version 0.18.1 when using version 0.19.1. This might lead to breaking code or invalid results. Use at your own risk.

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

训练