2017-01-19 40 views
0

我已自動化的腳本將文件上傳到網頁上。生成該文件中的腳本被寫入在Matlab(2013a),並且該文件被一個Python函數的裝置,其是從使用system命令了Matlab腳本調用上傳到的網頁。 python腳本使用硒。問題從MATLAB程序調用Python腳本在cron

Matlab的腳本運行完全當我從Linux命令行啓動它,但是當我把這個腳本在cron文件失敗由於與蟒蛇的問題。進口的webdriver當我得到一個錯誤信息,這就是消息(如Python函數的輸出的一部分):

from selenium import webdriver 

from selenium import webdriver ImportError: No module named selenium

我添加了以下行腳本只是知道硒包凡所在位置:

print webdriver.__file__ 

,我得到這個從外殼調用Matlab的腳本時:

/home/myself/anaconda2/lib/python2.7/site-packages/selenium/webdriver/init.pyc

那麼,什麼從cron文件從命令行調用腳本,調用這個函數的區別?

從命令行:

[email protected]:~$ matlab2013b -nodesktop -nosplash -r OP_SCRIPT('A','B','C') 

從cron文件:

00 16 * * * myself matlab2013b -nodesktop -nosplash -r OP_SCRIPT('A','B','C')" 

感謝您的幫助!

+1

也許你應該首先在cron中設置Python路徑。 –

回答

0

我終於解決了這個問題,從MATLAB調用它時加入了Python的完整路徑interpeter到Python功能:

[status, cmd_out] = system(['/home/myself/anaconda2/bin/python ',path_py,'sendFile.py "' filename '" "' path_py '"']); 

什麼,而不是我以前做的:

[status, cmd_out] = system(['python ',path_py,'sendFile.py "' filename '" "' path_py '"']);