如何从类似于 pip 或 howdoi 命令的任何终端实例将 python 脚本作为全局命令运行?

Posted

技术标签:

【中文标题】如何从类似于 pip 或 howdoi 命令的任何终端实例将 python 脚本作为全局命令运行?【英文标题】:How to run python script as global command from any terminal instance similar to pip or howdoi command? 【发布时间】:2022-01-18 00:48:41 【问题描述】:

要解决的问题

我在一个目录中有一个名为myscript.py 的python 脚本。 要运行myscript.py,我必须在同一目录中打开终端并执行python myscript.pypython path_to_the_py_file

我想要达到的目标

我可以随时随地打开终端实例并执行myscriptmyscript arguments -options。通过这样做,我应该能够运行脚本。我想实现类似pip 命令或howdoi 包的东西。

当我在终端输入 myscript 时,我不应该得到: myscript: The term 'myscript' is not recognized as a name of a cmdlet, function, script file, or executable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

如果您有任何困惑,请在 cmets 中询问。如果标题需要改进,请随时编辑问题。

【问题讨论】:

【参考方案1】:

这个问题似乎有很多东西。

首先,你想让你的文件可执行。

chmod +x /path/to/your/script.py

然后,由于这是一种解释型语言,您必须在文件顶部的 shebang 中指定解释器。

#!/usr/bin/env python

#!/usr/bin/env python3

最后,您必须将它放入您的 PATH 环境变量中,这可以通过多种方式完成,最简单的可能是 ~/bin 或 ~/.local/bin 中的符号链接,具体取决于您所拥有的。

此外,这将使 script.py 可作为可执行文件使用,如果您不想要 .py,您可以将其重命名或将其符号链接重命名为仅脚本。

【讨论】:

在哪里可以找到bin 文件夹 我刚刚意识到你为 Windows 标记了这个,我回复了 *nix。我不记得 Windows 进程了,所以我找到了这个page。我还没有测试过它,你应该确保你理解你将运行的指令是做什么的,但希望这能指引你正确的方向。

以上是关于如何从类似于 pip 或 howdoi 命令的任何终端实例将 python 脚本作为全局命令运行?的主要内容,如果未能解决你的问题,请参考以下文章

pip不是内部或外部命令 怎么解决

sbt/Scala 是不是有类似于 Bundler/pip >= 或 ~= 的“兼容版本”?

pip常用命令

pip使用手册

如何从 subprocess.run() 运行 pip install 命令 [重复]

如何使用 conda 或 pip 更新 jupyterlab