我已经在这里阅读了许多其他答案,试图让它发挥作用,但由于某种原因,它不会成功。我已经更改了权限并使用chmod +x <myscript.py>
创建了.py可执行文件,并且我已将该文件复制到我的/ usr / local / bin中,默认情况下该文件已存在于我的PATH中,但是,除非我在他们所在的目录中,否则我仍然无法执行该脚本。
此外,我对标题的工作原理有点困惑。我目前有#!/usr/bin/python
,因为当我将其更改为#!/usr/local/bin
以匹配目录时,当我运行脚本时,我的终端说我有一个&#34;糟糕的翻译。&#34;
我知道这个话题已经在这里进行了很多,但其他修复工作并没有奏效。提前致谢。
答案 0 :(得分:0)
如果您运行这样的脚本:
./Untitled.py
Bash将尝试在当前目录中查找脚本 - 因为您已使用文件路径调用脚本(在这种情况下是相对的)。
但是,如果你运行这样的脚本:
Untitled.py
Bash会在PATH
中搜索具有该名称的可执行文件。假设您已使脚本可执行(使用chmod
)且该脚本位于PATH
的目录中,则该脚本应该运行。
关于she-bang系列,而不是硬编码到特定的Python(/usr/bin/python
),更常见的方法是:
#! /usr/bin/env python
您的脚本将由当前处于活动状态的Python执行(例如,您可能正在使用virtualenv
或pyenv
在Pythons之间切换,具体取决于您当前的项目。)