如何通过在终端上单独键入名称来运行python程序?

时间:2016-09-11 00:08:52

标签: python linux bash shell scripting

我不确定我应该搜索什么,因为我一直试图查找的所有东西都没有真正给我答案。

如果有人能指出我正确看待的方向,我将非常感激。基本上,我想知道制作一个我可以分发(不公开)的python程序的最佳方法。

一旦有人拥有该文件,他们就会运行一个脚本,或者运行make命令,结果是用户可以通过输入名称(并传递args)从计算机上的任何目录中调用该程序在终端。

我只知道一种方法,我认为这是错误的方式。我的想法如下:

1。)一个主文件夹,我们称之为Ghoul。它将包含3个文件:

setup.sh
ghoul.sh
ghoul.py

2。)用户必须运行setup.sh,这会使ghoul.sh成为可执行文件,它会将名称更改为食尸鬼,然后我会将其移至/ bin

3。)在现在位于/ bin的ghoul文件中,文件本身将包含" python /home/user/Ghoul/ghoul.py $ @"这样就可以通过键入" ghoul"

从任何目录运行程序

我希望它能清楚我要完成的任务,我知道这可能不是这样做的合适方式。我应该查看和阅读以实现这一目标?我想知道如何在Ubuntu上做到这一点,如果还有..Windows。

我也很感兴趣,如果我可以限制"食尸鬼"命令仅在Ghoul目录中工作,但当然在Ghoul目录中的任何目录中,而不是在系统上的任何目录中。

谢谢。

1 个答案:

答案 0 :(得分:2)

在类Unix系统上

#! /usr/bin/env python
在chmod + x脚本文件的第一行中的

将使用./filename

使其可以从当前目录执行

如果你想从任何地方完全直接执行,你可以把它放在你选择的某个地方。

在Windows上它更复杂,如果你想要命令行执行,默认安装应该让你能够执行

myscript.py

如果它在你的道路上。要删除.py,你需要将.py放入PATHEXT变量中。或者,如果需要在没有任何python安装的情况下分发给某人,请查看www.py2exe.org