python pip 可以做什么让我在安装后只需写下包名称即可启动它?

python pip 可以做什么让我在安装后只需写下包名称即可启动它?

例如,如果我执行sudo -H pip3 install youtube-dl,一旦安装,我就可以立即youtube-dl在我的终端中使用。

pip 做了什么来实现这个目标?

答案1

该包的设置.py配置设置这些参数:

  1. entry_points = {"console_scripts": ["youtube-dl = youtube_dl:main"]}
  2. scripts = ["bin/youtube-dl"]

如果 Python 的 setuptools 识别到第一个参数,它会生成一个名为youtube-dlimport youtube_dl 的 Python 脚本并调用 youtube_dl.main() 函数。

使用第二个参数的旧版本将复制开发人员已经提供的现有脚本(它确实完全一样

在这两种情况下,Python 脚本都放在/usr/local/bin/(对于 sudo pip)或~/.local/bin/(对于 pip --user)中,并且由于这些目录位于您的 $PATH 环境变量中,因此 shell 在尝试查找您输入的命令时会在它们中查找。

相关内容