#!/usr/bin/env python
我把它放在脚本的顶部。我已经看到,应该使脚本可以从命令行运行,而不需要python programname.py
。除非我误解,否则我应该可以使用programname.py
,只要我在脚本顶部有上面的行。它是否正确?
这对我不起作用我只是收到一个错误,表示我必须在“通话”开始时使用python
。
答案 0 :(得分:23)
你可以在没有shebang(#!
)和
python myscript.py
或几乎相当(它将当前目录放在您的路径上并执行名为myscript
的模块)(最好这样做!):
python -m myscript
从命令行开始,只要你安装了Python并在你的路径环境变量上(即设置为使用python
运行,如果安装了,通常就是这种情况)。
#!
)是Unix的东西。当你使用它时,shebang通常用于在Unix平台(通常是Apple或Linux)上运行。 Windows通常需要cygwin才能使用shebang。
您通常可以使用以下命令默认使用系统路径上可用的任何python:
#!/usr/bin/env python
假设您使用的是Unix,可以尝试使用其他位置进行python设置,例如:
#!/usr/bin/python
您可以使用unix which
命令查看当前正在使用的python,因此如果您想查看python的来源,请使用以下命令:
which python
或在Windows上(cygwin可能会运行shebang):
where python
在Linux / Unix上,你需要执行perms来以这种方式运行文件。使用chmod
chmod +x myscript.py
(chmod也可能适用于Windows中的Cygwin)
如果您没有以root身份运行,则可能需要sudo
,那就是
sudo chmod +x myscript.py
然后尝试使用
运行(在同一目录中)./myscript.py
答案 1 :(得分:6)
使文件可执行
sudo chmod +x /path/to/file.py
然后从与file.py相同的目录:
./file.py
答案 2 :(得分:1)
您还可以通过以下方式使用webbrowser模块:
python -m webbrowser -t "http://www.python.org"