我想编写一个 Ubuntu 应用程序来帮助我处理基于 Web 的 API。我可以用 Python 编写它,但我想知道如何构建它,以便我可以将其作为终端上的命令执行。
答案1
把你的 Python 程序放在一个文本文件中。该文件的第一行应该是
#!/usr/bin/python
print "Hello world"
(我把“Hello world”这行代码作为 Python 代码的一个例子)。将其保存为文本文件,例如test.py
。使该文件可执行
chmod a+x test.py
现在你就可以运行它了:
./test.py
为了能够从任何目录和每个用户访问它,请将其放入/usr/local/bin
,这是未使用包管理器安装的可执行文件的默认位置:
sudo cp test.py /usr/local/bin
或者,您可以在主目录中创建一个名为“bin”的目录;它将通过 $HOME/.profile 文件自动附加到您的 PATH 变量中。
mkdir $HOME/bin
mv test.py $HOME/bin
在最后这两种情况下,要在终端中运行脚本,您只需写入:
test.py
此处的扩展名“.py”仅用于表明它是 Python 脚本。您可以将其命名为“susan”,然后键入以下内容来运行它
susan
其作用是一样的。
答案2
Python 是一种脚本语言,这意味着您无需在运行之前对其进行编译。您只需要安装所需版本的 Python 解释器。
例如,你的主目录中有一个名为 foo.py 的 Python 脚本,你可以使用命令运行该脚本
$ ~/foo.py
文件中的第一行应该表明这是一个 Python 文件。第一行应该是这样的:
#!/usr/bin/env python
假设它被设置为可执行文件,如果没有:
$ chmod +x ~/foo.py
如果您想要运行它而不包含任何~/
内容,那么您应该将其移动到您的 $PATH。
$ echo $PATH
/usr/local/bin:/usr/bin:/bin
如果您将 foo.py 移入/usr/local/bin
,/usr/bin
或者/bin
您可以在没有任何父文件夹的情况下运行。
$ sudo mv ~/foo.py /usr/local/bin
$ foo.py
答案3
将它放入一个小的 Python 脚本中以便/usr/local/bin
能够从命令行运行它(参见这个答案)我们可能有一个更复杂的python应用程序,需要将其存储在另一个地方(例如/opt/myapp/
)。
然后我们可以编写一个小脚本,引用/usr/local/bin/
我们的python脚本,例如
#! /bin/bash
python /opt/myapp/myapp.py "$@"
"$@"
如果您的脚本采用命令行参数,请添加变量。