OSX Automator无法使用shell中的模块运行Python脚本

时间:2014-06-28 04:47:28

标签: python macos shell automator twython

我正在尝试运行一个Python脚本,该脚本在OSX Automator中使用来自Run Shell Script的一些第三方模块(numpy,pandas,Twython)。我写了一个成功运行的hello_world.py脚本,所以我确定问题是由于第三方模块造成的。

在Terminal中,我可以成功执行:python Desktop/my_folder/myscript.py,但是当我尝试运行下面的shell脚本时,shell脚本会失败。我从anaconda发行版运行Python 2.7.7。

#!/Users/myName/anaconda/bin/python2.7

cd ~/Desktop/my_folder/
python script.py

如何编写适用于使用第三方模块的Python脚本的shell脚本?

1 个答案:

答案 0 :(得分:4)

当你调用Python时,你需要指定Anaconda Python的绝对路径,而不是像shebang那样(显然Automator会忽略它)。在Automator下运行shell脚本时,您的shell启动配置文件可能没有运行,因此不会发生将Anaconda bin目录放在PATH上的更改,导致python引用系统Python。试试这个。

#!/bin/sh

cd ~/Desktop/my_folder/
/Users/myName/anaconda/bin/python2.7 script.py