无法从Mac上的终端运行Python .py文件

时间:2011-10-21 22:33:03

标签: python

我刚刚将Python 3.2下载到Mac OS 10.6环境。我是编程的新手,我正在尝试运行我的第一个独立的.py文件,但我不断收到一条错误消息“没有这样的目录或文件”。该文件的名称是“script1.py”,我将其保存到/ Users / billp / Documents。当我打开终端运行文件时,我输入:

python script1.py

我也尝试将此行添加到脚本的开头:

#!/usr/local/bin/python

以及这一个:

#!/usr/bin/env python

然而,我一直收到同样的错误信息。任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:7)

打开终端后,请确保您位于正确的工作目录中。型

cd /Users/billp/Documents/

(使用标签自动填充)

然后

python ./script1.py

这样你就可以启动python可执行文件并将它作为第一个参数传递给你的文件。您提到的shebang #!行允许您直接启动脚本,如下所示:./script1.py,但您需要将文件标记为可执行chmod +x script1.py并提供解释器(python)的路径shebang。 #!/usr/bin/env python引用了您的默认python安装。

./代表当前目录。默认情况下,当您键入script1.py时,您的shell(通过终端键入命令的内容)将在PATH env变量中列出的特殊文件夹中查找可执行文件。通常不会script1.py,因此您会看到-bash: script1.py: command not found。另一方面,python位于PATH,因此它应该有效。

答案 1 :(得分:4)

也许你忘了让文件可执行?在命令提示符处尝试:

$ chmod +x script1.py

我更喜欢用这些行在Mac上启动我的Python脚本(假设您当然是以UTF-8编码保存文件:

#!/usr/bin/env python
#coding=utf-8

此外,请确保路径中的python命令可用。如果一切设置正确,则无需先键入python,您可以通过在其所在的目录中键入./script1.py来直接运行脚本。

最后一件事,就是在从命令行执行脚本时运行一段代码(而不是简单地在文件中加载定义),最后写一下:

if __name__ == '__main__':
    # the code you want to call

答案 2 :(得分:0)

你的python二进制文件在这里吗?

/Library/Frameworks/Python.framework/Versions/3.2/bin/python

答案 3 :(得分:0)

值得指出的是,只要文件在当前目录中,它就会自动可用。否则,必须使用完整路径信息绝对引用任何文件。

以下示例调用同一个文件:

明确(绝对路径)

python /Users/billp/Documents/script1.py
python /Users/billp/Documents/script2.py
python /Users/billp/Documents/script3.py

隐含(相对路径)

cd /Users/billp/Documents
python script1.py
python script2.py
python script3.py

只要您处理同一目录中的文件(通常称为工作目录),您就可以始终安全地使用相对路径。如果文件位于其他任何位置,则必须始终指定绝对路径。