从终端全局运行 python 包

问题描述

我有一个 python 包,我开发为一个 CLI,它将用户位置解析为参数并返回该特定位置的温度,如下所示:

python weather.py --lat=[my_latitude] --long=[my_longitude]

我希望可以全局访问此命令,而不仅仅是当我在当前项目文件夹中时。在 weather.py 中,我将第一行设置为 #!path_to_python,并且我已经获得了读取和执行文件的权限,然后尝试将文件移动到我的 PATH 中的文件夹。当我在终端中运行 weather 时,它什么都不输出

我使用的是带有 cmder 终端模拟器的 Windows 10。

解决方法

如果您使用 Setuptools 正确打包您的程序,您可以自动为您的程序have it create a console script launcher(就像 pip 所做的那样!)。

这些脚本安装在 Windows 上 Python 安装的 Scripts 目录中,该目录通常自动位于您的 PATH 中。