python - 从 cron 中的 Matlab 进程调用 Python 脚本

标签 python linux matlab python-2.7 cron

我已经自动化了一个脚本来将文件上传到网页。生成文件的脚本是用 Matlab (2013a) 编写的,文件通过使用 system 命令从 Matlab 脚本调用的 python 函数上传到网页。 python 脚本使用 selenium。

当我从 Linux 命令行启动它时,Matlab 脚本运行完美,但是当我将此脚本放入 cron 文件时,由于 python 问题,它失败了。我在导入 webdriver 时收到一条错误消息,这是消息(作为 python 函数输出的一部分):

from selenium import webdriver

from selenium import webdriver ImportError: No module named selenium

我在脚本中添加了以下行只是为了知道 selenium 包的位置:

print webdriver.__file__

我在从 shell 调用 Matlab 脚本时得到了这个:

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

那么,从命令行调用脚本和从 cron 文件调用此函数有什么区别?

从命令行:

myself@server:~$ matlab2013b -nodesktop -nosplash -r OP_SCRIPT('A','B','C')

来自 cron 文件:

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

感谢您的帮助!

最佳答案

我终于解决了从 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 '"']);

关于python - 从 cron 中的 Matlab 进程调用 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41745110/

相关文章:

python - 使用 python 编写文本文件

linux - 如何正确链接opencl和ros?

c - 设备文件的文件描述符的有效性

matlab - 如何用同名的新函数包装一个已经存在的函数

python - 在 Python 中打包相邻整数

python - 错误 111 连接到 localhost :6379. 连接被拒绝。 Django Heroku

html - 加载 HTML - 命令行

matlab - 1 个循环中的多个图形,每次迭代在每个图形上添加一条线

matlab - 带通滤波器无法在 matlab 中过滤不需要的频率

python - 通过字典中的字典进行一行迭代