gpt4 book ai didi

python - 没有 'pkg_resources' 的入口 pip 和控制台脚本?

转载 作者:太空宇宙 更新时间:2023-11-04 02:24:19 24 4
gpt4 key购买 nike

当我安装 pip (例如 venv ), <venv>/bin/pip是以下内容:

#!"<venv>/bin/python"

# -*- coding: utf-8 -*-
import re
import sys

from pip._internal import main

if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(main())

它们对应的入口 pip 定义为"pip=pip._internal:main" .

当我安装我的 app 时(例如 venvpip install -e . ), <venv>/bin/app是以下内容:

#!"<venv>/bin/python"
# EASY-INSTALL-ENTRY-SCRIPT: 'app','console_scripts','app'
__requires__ = 'app'
import re
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(
load_entry_point('app', 'console_scripts', 'app')()
)

我对应的入口 pip 定义为'app=app:main' .

为什么会有这样的差异?我想避免使用 pkg_resources在生成的脚本中以与 pip 相同的方式做。如何实现?

最佳答案

我必须深入研究 pip 源代码才能在这里做出有根据的猜测。

“简单的”控制台脚本是在您通过轮子安装的任何东西时生成的。因此,您可以通过从您的包中制作一个轮子并安装轮子来确保它是以这种方式生成的。

关于python - 没有 'pkg_resources' 的入口 pip 和控制台脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50843354/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com