如何并行安装/编译pip依赖(相当于make -j)

12 投票
2 回答
6056 浏览
提问于 2025-04-30 19:57

我有很多需要安装的包在我的pip需求里,我想要同时处理它们。

我知道,比如说,如果我想要从make中启动n个并行任务,我需要写make -j n; 那么pip有没有类似的命令呢?

谢谢!

暂无标签

2 个回答

-4

我觉得提高速度的最好办法就是找出瓶颈在哪里。试着分析一下你在使用pip命令时,哪些过程在运行。

通常,下载PyPI上的内容和将库编译成本地格式(比如PIL)会花费最多时间。你可以尝试自己建立一个PyPI仓库,并提前编译好需要的源代码。过去大家讨论过很多这个话题,但其实如果同时启动多个pip,速度并不会有明显提升。

20

有时候,pip在安装依赖的时候会用到make这个工具。如果在它开始之前,你设置了MAKEFLAGS,比如:

export MAKEFLAGS="-j$(nproc)"
pip install -r requirements.txt

这样可能会帮助你更顺利地安装本地依赖。

注意:nproc这个命令会返回你电脑里CPU的数量。

撰写回答