我有一个python脚本,让我们将其命名为script1.py。 我可以在终端这种方式运行:
python /path/script1.py
...
但我要像一个命令行程序运行:
arbitraryname
...
我该怎么做 ?
我有一个python脚本,让我们将其命名为script1.py。 我可以在终端这种方式运行:
python /path/script1.py
...
但我要像一个命令行程序运行:
arbitraryname
...
我该怎么做 ?
您可以使用认领线在你的脚本的开头:
#!/usr/bin/env python
使文件可执行:
chmod +x arbitraryname
并把它放在一个目录上您的PATH(可以是一个符号链接):
cd ~/bin/
ln -s ~/some/path/to/myscript/arbitraryname
有三个部分:
你需要在你的脚本的顶部添加认领所以外壳知道你的解析脚本时要使用哪个解释。 它一般是:
#!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中的底部添加命令
以下行添加到开始script1.py
#!/usr/bin/env python
然后使脚本可执行:
$ chmod +x script1.py
如果脚本位于出现在您的目录PATH
变量,你可以简单地输入
$ script1.py
否则,您必须提供完整的路径(绝对或相对)。 这包括当前工作目录,这不应该在你的PATH
。
$ ./script1.py
你需要使用一个hashbang 。 将它添加到您的python脚本的第一行。
#! <full path of python interpreter>
然后更改文件权限,并添加执行权限。
chmod +x <filename>
并利用最后执行它
./<filename>
如果在当前目录中,