OSX自动机无法使用shell中的模块运行Python脚本

OSX自动机无法使用shell中的模块运行Python脚本,python,macos,shell,automator,twython,Python,Macos,Shell,Automator,Twython,我正在尝试运行一个Python脚本,它使用OSX Automator中的runshell脚本中的一些第三方模块(numpy、pandas、Twython)。我编写了一个hello_world.py脚本,该脚本运行成功,因此我确信问题是由第三方模块造成的 在终端中,我可以成功地执行:python Desktop/my_folder/myscript.py,但是当我尝试运行下面的shell脚本时,shell脚本失败了。我从anaconda发行版运行Python 2.7.7 #!/Users/myNa

我正在尝试运行一个Python脚本,它使用OSX Automator中的
runshell脚本
中的一些第三方模块(numpy、pandas、Twython)。我编写了一个hello_world.py脚本,该脚本运行成功,因此我确信问题是由第三方模块造成的

在终端中,我可以成功地执行:
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脚本?

在调用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

在调用Python时,需要指定Anaconda Python的绝对路径,而不是作为shebang行(这显然被自动机忽略)。在Automator下运行shell脚本时,您的shell启动配置文件可能未运行,因此不会发生将Anaconda
bin
目录置于
PATH
上的更改,从而导致
python
引用系统
python
。试试这个

#!/bin/sh

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

谢谢你的帮助,内德!为了澄清这是如何工作的,您可以将目录更改为
/Desktop/my_folder
,然后运行到
/Users/myName/anaconda/bin/python2.7script.py
?等等,我想出来了。
cd/my_文件夹
将进入您的
my_script.py
所在的位置,然后
/Users/myName/anaconda/bin/python2.7
告诉计算机使用anaconda版本的python而不是系统版本的python来运行
my_script.py
,谢谢您的帮助,Ned!为了澄清这是如何工作的,您可以将目录更改为
/Desktop/my_folder
,然后运行到
/Users/myName/anaconda/bin/python2.7script.py
?等等,我想出来了。
cd/my_文件夹
将进入您的
my_script.py
所在的位置,然后
/Users/myName/anaconda/bin/python2.7
告诉计算机使用anaconda版本的python而不是系统版本的python来运行
my_script.py