gpt4 book ai didi

python - 配置 setup.py 以安装解压缩的包

转载 作者:太空宇宙 更新时间:2023-11-04 03:42:12 26 4
gpt4 key购买 nike

当我安装 pytz通过setuptools ,迭代 pytz.all_timezones 需要几秒钟。有人建议running pip unzip pytz ,这解决了性能问题。现在我想让 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

from setuptools import setup
setup(name='slowpytz', version='0.0.1', install_requires=['pytz==2014.7'])

慢速文件

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

最佳答案

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

  • 您可以为 pytz 提交错误报告以在其 setup.py 中设置 zip_safe=False,使用性能数据作为更改的理由。
  • 否则,您可以 fork pytz,添加 zip_safe=False,并让您的包依赖于您的 fork 。 (不是一个很好的选择。)
  • 您可以建议用户始终使用 pip 安装您的软件包,它始终会安装所有解压缩的内容(包括依赖项),而不是 easy_installpython setup.py安装
  • 如果您的用户必须使用 easy_install,您可以推荐他们使用 easy_install -Z,它会强制解压缩安装。

关于python - 配置 setup.py 以安装解压缩的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25816689/

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