OSX Automator无法运行包含模块的Python脚本
我正在尝试在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