我正在尝试运行一个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脚本?
答案 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