【问题标题】:Making python script executable from any directory [duplicate]从任何目录使python脚本可执行[重复]
【发布时间】:2014-07-28 20:27:37
【问题描述】:

我有一个 python 脚本,它有多个命令行选项。我想让这个脚本可以运行,而不必键入“python myscript.py”,也不必与脚本位于同一目录中。比如在linux上安装git,不管用户在哪个目录,用户都可以做“git add X, etc..”。因此,我想要的示例输入是“myscript -o a,b,c -i”而不是“python myscript.py -o a,b,c -i”。我已经在脚本代码的顶部添加了“#!/usr/bin/env python”,这使得当我输入“./myscript”时它可以执行,但是我不想要./,我想要这个从任何目录工作。

【问题讨论】:

  • 您需要将其移动到路径上的某个位置,例如(通常)/usr/bin/usr/local/binThen, make the script executable and put it somewhere in your PATH. 在对副本的回答中指出了这一点。

标签: python linux shell command executable


【解决方案1】:

您应该将包含脚本的文件夹添加到系统的 $PATH 变量中(我假设您使用的是 Linux)。此变量包含搜索特定命令的所有目录。您可以通过键入PATH=/path/to/folder:$PATH 来添加它。或者,您需要将脚本移动到 $PATH 变量中已经存在的文件夹中(这通常比弄乱系统变量更好)。

【讨论】:

    【解决方案2】:

    您的脚本需要位于可通过您的PATH 搜索的位置。在 Unix/Linux 系统上,不属于系统的本地生成的程序和脚本的普遍接受的位置是 /usr/local/bin。因此,通过运行chmod +x myscript 确保您的脚本是可执行的,然后使用sudo mv myscript /usr/local/bin 将其移动到正确的位置(同时在包含myscript 的目录中)。您需要输入管理员密码,然后一切就绪。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多