终端中的Python

Pau*_*son 2 python macos terminal

这个问题涉及在终端中运行未存储在主目录中的python文件.我想通过修改我的路径来解决这个难题的第一部分,以便它包含我的python程序存储的目录.

那么最初 echo $PATH会产生以下结果:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

它现在产生: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Users/paulpatterson/Documents/Python

但是,尽管现在我的路径中存在正确的文件夹,但此文件夹中没有任何python文件运行.例如,当我打开终端并键入时,其中有一个名为recap.py的文件: python recap.py 我得到:

python: can't open file 'recap.py': [Errno 2] No such file or directory
Run Code Online (Sandbox Code Playgroud)

如果我只是输入recap.py(即省略'python'位),我得到: -bash: /Users/paulpatterson/Documents/Python/recap.py: Permission denied

任何人都可以开导我吗?理想情况下,我想设置它,所以一旦终端打开,我需要做的就是输入文件名,甚至不输入python.

我花了好几个小时试图解决这个问题,任何帮助都表示赞赏.

保罗.

dre*_*ves 8

在$ PATH中包含命令所在的目录意味着您可以从任何地方在该目录中运行命令.但是在你的第一个例子中,你运行命令"python",将recap.py作为参数.所以你的shell不会搜索$ PATH来查找recap.py所在的位置.要将recap.py作为命令单独运行,请参阅:

http://en.wikipedia.org/wiki/Shebang_(Unix)

简而言之,您需要包含#!/usr/bin/env python第一行,并将文件chmod为可执行文件(chmod u+x recap.py).