OSX Automator无法运行包含模块的Python脚本

1 投票
1 回答
3000 浏览
提问于 2025-04-18 11:24

我正在尝试在OSX的Automator中通过Run Shell Script来运行一个使用了几个第三方模块(比如numpy、pandas和Twython)的Python脚本。我写了一个hello_world.py脚本,它能成功运行,所以我确定问题出在这些第三方模块上。

在终端中,我可以成功执行:python Desktop/my_folder/myscript.py,但是当我尝试运行下面的这个shell脚本时,它就失败了。我使用的是anaconda发行版的Python 2.7.7。

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

cd ~/Desktop/my_folder/
python script.py

我该如何编写一个shell脚本,使其能够正常运行使用第三方模块的Python脚本呢?

1 个回答

6

当你调用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

撰写回答