如何让python程序只需在终端键入名称即可运行?

如何让python程序只需在终端键入名称即可运行?,python,linux,bash,shell,scripting,Python,Linux,Bash,Shell,Scripting,我不确定我应该搜索什么,因为我一直试图查找的所有东西都没有真正给我我需要的答案 如果有人能为我指出正确的方向,我会非常感激。基本上,我想知道制作一个python程序的最佳方法,我可以发布(不是公开发布) 一旦有人拥有了这个文件,他们就会运行一个脚本,或者运行make命令,其结果就是用户可以通过在终端中键入名称(并传递args)从计算机上的任何目录中调用该程序 我只知道一种方法,我认为这是错误的方法。我的想法如下: 1.)一个主文件夹,我们称之为食尸鬼。它将包含3个文件: 2.)用户必须运行set

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

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

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

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

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

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

3.)在现在位于/bin中的ghoul文件中,文件本身将包含“python/home/user/ghoul/ghoul.py$@”,这将允许程序只需键入“ghoul”即可从任何目录运行

我希望能清楚地知道我想要完成什么,我知道这不是一个合适的方式。为了实现这一点,我应该查找和阅读什么?我想知道我如何在Ubuntu和Windows上做到这一点

我还想知道是否可以将“ghoul”命令限制为仅在ghoul目录中工作,但当然是在ghoul目录中的任何目录中,而不是在系统上的任何目录中

谢谢。

在类Unix系统上

#! /usr/bin/env python
在chmod+x脚本文件的第一行中,脚本文件将使用./filename从当前目录执行

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

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

myscript.py

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

将其添加到PATH,包括bang-line(#/env/bin/python3),很高兴这对我不起作用,我仍然必须在脚本名称前键入“python”,或者执行“/”我还运行了命令“哪个python?”并且在shebang前面使用了它的输出,但它不起作用。当我试着在它所在的同一个目录中用程序名运行它时,它只会说“command not found”,你是把它放在当前目录中,还是把它放在你的bin目录(或路径上的a.n其他目录)中。bash(我假设大多数其他shell)需要/如果它不在您的路径上。我对答案进行了编辑,使其更清楚,这就是我的意思。
myscript.py