我在本地开发了一个运行良好的程序,但是当我将它推送到 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 版本?