我想在linux中运行python脚本而不显式调用python。 我的目标是让$ myscript.py运行我的脚本。目前呼吁$ python myscript.py工程,但我希望不必输入额外的命令易于使用。我将shebang行添加到脚本的第一行以获得正确的python调用。我已经尝试了以下两行,但都没有为我工作。权限被拒绝在Linux中使用shebang行运行python脚本
#!/usr/bin/env python2.7
#!/usr/local/bin/python2.7
的问题是,我得到了以下行为
$ python2.7 myscript.py # This will run
$ myscript.py # This is the error
$ ./myscript.py # This will also error
: Permission denied # Error message
当我在文件上做ls -ltr我对脚本执行权限和可执行
-rwxrwxr-x 1 uname users 3544 Jul 7 08:46 myscript.py
-rwxr-xr-x 1 root root 6231413 Jul 7 00:57 /usr/local/bin/python2.7
我也可以在命令行中通过键入写入到其中的shebang行中的内容来调用python。
/usr/bin/env python2.7
/usr/local/bin/python2.7
都在终端运行python。
我已经遇到了下面的stackoverflow问题,似乎没有人回答为什么这个问题发生在我身上。
+3
试过'。/ myscript.py'? –
+1
当你执行'ls -l/usr/local/bin/python2.7'时你会看到什么? –
+0
“权限被拒绝”真的很奇怪。通常情况下'PATH'不包含'.',在这种情况下,shell会说出类似“未找到命令”的内容。你确定剧本的名字吗?你的用户名字面上是“uname”,还是仅仅是匿名?你正在运行哪个版本的Bash? –