点构建选项以使用多核

发布于 2021-01-29 17:11:50

我发现pip在编译软件包时仅使用单核。由于某些python软件包使用pip构建需要花费一些时间,因此我想在计算机上利用多核。使用Makefile时,我可以像以下命令那样进行操作:

make -j4

我怎样才能达到点子的目的?

关注者
0
被浏览
45
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    据我所知,点子似乎没有这种能力,但我可能会误会。

    要在python中进行多重处理,请使用多重处理程序包,[如果有兴趣,请参阅[这里是我找到的指南](http://pymotw.com/2/multiprocessing/basics.html),有关如何执行此操作,这是一个链接到谈论它的python文档。我还发现这个问题非常有用,即Multiprocessing
    vs ThreadingPython,以确保多处理能够利用多个CPU来完成我认为的工作。

    我已经遍历了pip源代码(在此处可用),以查找对多处理程序包的引用,但没有找到该程序包的任何用法。这意味着pip不使用/不支持多重处理。据我所知,该/pip/commands/install.py文件是您运行时所要关注的问题之一pip install <package>。对于此文件,具体的导入是

    from __future__ import absolute_import
    
    import logging
    import os
    import tempfile
    import shutil
    import warnings
    
    from pip.req import InstallRequirement, RequirementSet, parse_requirements
    from pip.locations import virtualenv_no_global, distutils_scheme
    from pip.basecommand import Command
    from pip.index import PackageFinder
    from pip.exceptions import (
        InstallationError, CommandError, PreviousBuildDirError,
    )
    from pip import cmdoptions
    from pip.utils.deprecation import RemovedInPip7Warning, RemovedInPip8Warning
    

    您可以看到它没有对多处理程序包的任何引用,但是为了确定我确实检查了所有其他文件。

    此外,我检查了pip安装文档,但没有找到使用多个内核进行安装的参考。

    TL; DR:Pip不能满足您的要求。我可能没看错,因为我没看很久,但是我很确定它不支持它。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看