运行在终端Python脚本而不python命令(run a python script in ter

2019-07-22 21:36发布

我有一个python脚本,让我们将其命名为script1.py。 我可以在终端这种方式运行:

python /path/script1.py
...

但我要像一个命令行程序运行:

arbitraryname
...

我该怎么做 ?

Answer 1:

您可以使用认领线在你的脚本的开头:

#!/usr/bin/env python

使文件可执行:

chmod +x arbitraryname

并把它放在一个目录上您的PATH(可以是一个符号链接):

cd ~/bin/
ln -s ~/some/path/to/myscript/arbitraryname


Answer 2:

有三个部分:

  1. 添加“家当”在你的脚本的顶部,告诉如何执行你的脚本
  2. 给“运行”权限的脚本。
  3. 使脚本在您的路径,所以你可以在任何地方运行。

添加家当

你需要在你的脚本的顶部添加认领所以外壳知道你的解析脚本时要使用哪个解释。 它一般是:

#!path/to/interpretter

要查找路径,你的Python interpretter你的机器上,你可以运行下面的命令:

which python

这会搜索自己的路径来寻找你的Python可执行文件的位置。 它应该回来了绝对路径,你可以再使用,形成你的家当。 确保你的家当是在你的Python脚本的顶部:

#!/usr/bin/python

运行权限

你必须让你的shell知道你要当您尝试使用它作为一个指令实际执行它来标记与运行权限脚本。 要做到这一点,你可以运行这个命令:

chmod +x myscript.py

脚本添加到您的路径

PATH环境变量是目录,寻找您要运行一个命令时,你的shell将搜索的有序列表。 所以,如果你希望你的Python脚本是你可以从任何地方,然后运行它需要在你的PATH命令。 你可以看到运行命令你的路径的内容:

echo $PATH

这将打印出的文本,其中每个目录都用分号分隔的一长排。 每当你想知道你是从你的路径运行可执行文件的实际位置,您可以通过运行以下命令找到它:

which <commandname>

现在你有两个选择:你的脚本已经添加到目录中的路径,或者添加一个新的目录添加到PATH。 我通常在我的用户主目录下创建一个目录,然后将其添加到PATH。 要的东西添加到您的路径,你可以运行下面的命令:

export PATH=/my/directory/with/pythonscript:$PATH

现在,你应该能够在任何地方运行你的Python脚本的命令。 但! 如果关闭shell窗口并打开一个新的,新的人会不记得你刚刚到PATH所做的更改。 所以,如果你想成为然后保存这个改变,你需要在你的.bashrc或.bash_profile中的底部添加命令



Answer 3:

以下行添加到开始script1.py

#!/usr/bin/env python

然后使脚本可执行:

$ chmod +x script1.py

如果脚本位于出现在您的目录PATH变量,你可以简单地输入

$ script1.py

否则,您必须提供完整的路径(绝对或相对)。 这包括当前工作目录,这应该在你的PATH

$ ./script1.py


Answer 4:

你需要使用一个hashbang 。 将它添加到您的python脚本的第一行。

#! <full path of python interpreter>

然后更改文件权限,并添加执行权限。

chmod +x <filename>

并利用最后执行它

./<filename>

如果在当前目录中,



文章来源: run a python script in terminal without the python command