[英]run python script directly from command line
#!/usr/bin/env python
我把它放在脚本的顶部。 我已经看到应该使脚本可以从命令行运行,而无需python programname.py
。 除非我有误解,否则只要我在脚本顶部有上述行,我就应该能够使用programname.py
。 这个对吗?
它对我不起作用,我只是收到一个错误,表明我必须在“呼叫”开始时使用python
。
你可以在没有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
使文件可执行
sudo chmod +x /path/to/file.py
然后从与file.py相同的目录:
./file.py
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.