con*_*sed 9 python bash shell env shebang
#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)
我把它放在脚本的顶部.我已经看到,应该让脚本可以从命令行运行而不需要python programname.py.除非我误解,否则我应该可以使用programname.py,只要我在脚本顶部有上面的行.它是否正确?
这对我不起作用我只是得到一个错误,表明我必须python在'call'的开头使用它.
Aar*_*all 23
你可以在没有shebang(#!)的情况下普遍运行
python myscript.py
Run Code Online (Sandbox Code Playgroud)
或几乎等效(它将当前目录放在您的路径上并执行名为的模块myscript)(最好这样做!):
python -m myscript
Run Code Online (Sandbox Code Playgroud)
从命令行,只要你安装了Python并在你的路径环境变量上(即设置为运行python,如果安装了,通常就是这种情况).
#!)是Unix的东西.正如您所使用的那样,shebang通常用于在Unix平台(通常是Apple或Linux)上运行.Windows通常需要cygwin才能使用shebang.
您通常可以默认使用系统路径上可用的任何python:
#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)
假设您使用的是Unix,可以尝试其他位置进行python设置,例如:
#!/usr/bin/python
Run Code Online (Sandbox Code Playgroud)
您可以使用unix which命令查看当前正在使用的python ,因此如果您想查看python的来源,请使用以下命令:
which python
Run Code Online (Sandbox Code Playgroud)
或者在Windows上(cygwin可能会运行shebang):
where python
Run Code Online (Sandbox Code Playgroud)
在Linux/Unix上,你也需要执行perms来以这种方式运行文件.使用chmod
chmod +x myscript.py
Run Code Online (Sandbox Code Playgroud)
(chmod也可能适用于Windows中的Cygwin)
如果您没有以root用户身份运行,那么您可能需要sudo,而且可能需要
sudo chmod +x myscript.py
Run Code Online (Sandbox Code Playgroud)
然后尝试运行(在同一目录中)
./myscript.py
Run Code Online (Sandbox Code Playgroud)
小智 6
使文件可执行
sudo chmod +x /path/to/file.py
Run Code Online (Sandbox Code Playgroud)
然后从与file.py相同的目录:
./file.py
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
68971 次 |
| 最近记录: |