【问题标题】:Why is setuptools so slow为什么 setuptools 这么慢
【发布时间】:2020-02-08 19:06:55
【问题描述】:

我有一个 Python 库,但它的大小为 40 MB。但是,制作轮子文件需要12个多小时。

我的电脑配置: 我有一个不错的 3.4 GHZ 16 核处理器,具有 3 个缓存层和 64 GB RAM 和 SSD。

setuptools 卡在这里:

copying server\views\generic\edit.py -> build\lib\server\views\generic
copying server\views\generic\list.py -> build\lib\server\views\generic
copying server\views\generic\__init__.py -> build\lib\server\views\generic
creating build\lib\server\views\templates
copying server\views\templates\__init__.py -> build\lib\server\views\templates

这里它大部分时间都卡住了,但它仍然使用我的处理器。

我只是好奇为什么制作 Wheel 文件需要这么长时间才能发布到 pypi 上。

【问题讨论】:

  • 我们无法诊断为什么您的大型构建需要这么长时间,因为我们可以访问 0% 的代码和构建配置。
  • 这不是代码,我使用的构建配置是:python setup.py sdist bdist_wheel
  • 您链接的project 中的 setup.py(然后删除了链接)看起来很奇怪而且有问题。 Github 存储库似乎缺少您自己机器上的组件(就像 data_types.txt 一样),并且不清楚 Github 上的内容是否与您在本地拥有的内容相匹配。我倾向于认为您的问题是由于设置脚本中的错误造成的。
  • @lua 你用的是什么版本的 setuptools?
  • @Matthijs990 我用的是 39.1.0

标签: python python-3.x setuptools


【解决方案1】:

python 只使用 1 个核心,除非您使用线程或 concurrent.futures.ProcessPoolExecutor 类,因此对于 setuptools,如果您有 1 个或 16 个核心并不重要,因为它只会使用 1 个核心(至少据我所知 setuptools不使用线程或将任务拆分到一个以上的核心上)。

编辑:

在知道您使用哪个版本的 setuptools 后,在终端中使用以下命令升级 setuptools:python -m pip install -U setuptools 将 setuptools 升级到最新版本,由于存在错误,它会更快 现在已经修复了,但当时已经存在了。

【讨论】:

  • 1 个核心或 16 个核心,12 小时的构建远远超出标准。
  • 我知道我不是说这就是他的问题的解决方案
  • 这解决了我的问题,谢谢。现在只用了 40/50 多分钟。
猜你喜欢
  • 2021-09-03
  • 2016-09-28
  • 2012-07-17
  • 2011-11-07
  • 2015-08-24
  • 2013-08-06
  • 2014-07-16
  • 2011-01-02
  • 2019-06-16
相关资源
最近更新 更多