Python 不带'的入口点和控制台脚本;pkg#u资源';?
当我安装Python 不带'的入口点和控制台脚本;pkg#u资源';?,python,pip,setuptools,entry-point,pkg-resources,Python,Pip,Setuptools,Entry Point,Pkg Resources,当我安装pip(例如使用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(
pip
(例如使用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())
#!"<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')()
)
我对应的入口点定义为'app=app:main'
为什么会有这样的差异?我希望避免在生成的脚本中使用
pkg_资源
,方法与pip
相同。如何实现这一点?我必须仔细研究pip源代码,以便在这里做出有根据的猜测
“简单”控制台脚本是在通过控制盘安装任何安装时生成的。因此,您可以通过从软件包中制作一个轮子并安装轮子来确保它是以这种方式生成的