<p>如果您使用“python”或“python”从源代码安装项目设置.pyinstall'或'pip install'(创建一个.egg文件)生成的可执行脚本使用pkg\u资源,速度很慢。你知道吗</p>
<p>但是,如果先构建二进制wheel文件(.whl),然后安装wheel,则生成的可执行脚本似乎不会从pkg\u资源导入,而且速度更快。以一个任意项目为例,下面是使用两种不同方法安装cookiecutter项目的结果。你知道吗</p>
<p><a href="https://github.com/audreyr/cookiecutter" rel="nofollow noreferrer">https://github.com/audreyr/cookiecutter</a></p>
<p>如果此项目是使用“python”从源代码安装的设置.pyinstall',生成的可执行脚本包含从pkg\u资源导入的内容(速度慢):</p>
<pre><code>#!/usr/local/opt/python3/bin/python3.5
# EASY-INSTALL-ENTRY-SCRIPT: 'cookiecutter==1.5.1','console_scripts','cookiecutter'
__requires__ = 'cookiecutter==1.5.1'
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('cookiecutter==1.5.1', 'console_scripts', 'cookiecutter')()
)
</code></pre>
<p>但是,如果使用以下两个命令生成并安装了控制盘文件:</p>
<pre><code>python setup.py bdist_wheel
pip install dist/cookiecutter-1.5.1-py2.py3-none-any.whl
</code></pre>
<p>可执行脚本不包含来自pkg\u资源的导入(速度更快):</p>
<pre><code>#!/usr/local/opt/python3/bin/python3.5
# -*- coding: utf-8 -*-
import re
import sys
from cookiecutter.__main__ import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(main())
</code></pre>