[Python][Linux][crontab] pickle.load 遇到 First argument must be a sub-type of ndarray


在crontab設定排程執行發現 TypeError: _reconstrust: First argument must be a sub-type of ndarray
這是pandas版本的問題


pandas < 0.16 不能用 pickle.load 必須要用 pd.read_pickle
提供一個看pandas版本的方式

import pandas as pd
print pd.__version__

但是明明command line執行python版本是 0.18.1 怎麼在 crontab 會變0.14.1呢
如果有以上問題的繼續往下看

可以用

whereis python

看一下你的環境

預設 crontab 執行 python 會執行 /usr/bin/python
而在我的pi環境裡
上一篇裝了miniconda
需要執行的是/home/pi/miniconda/bin/python
這時候解決方法可以在 crontab -e 的script裡加上完整路徑

00 12 * * * /home/pi/miniconda/bin/python yourScript.py

執行出來的pandas就會是平常用的0.18.1了

留言

熱門文章