配置setup.py以安装未压缩的软件包

2024-10-01 13:37:19 发布

您现在位置:Python中文网/ 问答频道 /正文

当我通过setuptools安装pytz时,迭代pytz.all_timezones需要几秒钟。有人建议使用running ^{},这就解决了性能问题。现在,我想让setuptools在任何时候安装pytz都不压缩。在

我可以将setuptools配置为始终解压缩包的特定依赖项吗?在

$ virtualenv ve2.7
$ source ve2.7/bin/activate
(ve2.7)$ python setup.py install
(ve2.7)$ python slowpytz.py
2.62620520592s
(ve2.7)$ pip unzip pytz
DEPRECATION: 'pip zip' and 'pip unzip` are deprecated, and will be removed in a future release.
Unzipping pytz (in ./ve2.7/lib/python2.7/site-packages/pytz-2014.7-py2.7.egg)
(ve2.7)$ python slowpytz.py
0.0149159431458s

在设置.py在

^{pr2}$

在慢节奏.py在

import pytz
import time
start = time.time()
zones = list(pytz.all_timezones)
print(str(time.time() - start) + 's')

Tags: pipandinpyimporttimeallstart
1条回答
网友
1楼 · 发布于 2024-10-01 13:37:19

据我所知,在任何情况下都不可能强制解压缩依赖项。有些东西稍有不足,但可能仍然有用:

  • 您可以提交一个bug报告,让pytz在其setup.py中设置zip_safe=False,并使用性能数据作为更改的理由。在
  • 否则,您可以fork pytz,添加zip_safe=False,并让您的包依赖于fork。(不是一个好的选择。)
  • {{cd6}总是建议安装
  • 如果您的用户必须使用easy_install,您可以建议他们使用easy_install -Z,这将强制解压缩安装。在

相关问题 更多 >