我发现在不同的文件夹中,有时候“pip install”会构建需要花费大量时间的轮子,而有时却不会。我不知道为什么会这样以及如何控制它。任何人都可以提供帮助。
我使用的命令:“bin / python -m pip install -r ../requirements.txt”(由于shebang行长度限制,所以不要直接使用pip)
没有构建轮子的输出(只需几秒钟)
Collecting numpy==1.10.4 (from -r ../requirements.txt (line 1))
Installing collected packages: numpy
Successfully installed numpy-1.10.4
带有构建轮的输出(至少需要2分钟)
Collecting numpy==1.10.4 (from -r ../requirements.txt (line 1))
Downloading numpy-1.10.4.tar.gz (4.1MB)
100% |████████████████████████████████| 4.1MB 92kB/s
Building wheels for collected packages: numpy
Running setup.py bdist_wheel for numpy ... done
Stored in directory: /root/.cache/pip/wheels/66/f5/d7/f6ddd78b61037fcb51a3e32c9cd276e292343cdd62d5384efd
Successfully built numpy
Installing collected packages: numpy
Successfully installed numpy-1.10.4
requirements.tt
的内容numpy==1.10.4
答案 0 :(得分:10)
今天我遇到了一个问题,即没有正确安装软件包,因为事实证明它的构建过程会产生错误的轮组,即使直接安装工作正常。
我做了一些探讨,事实证明,截至目前(pip == 8.1.2
),没有直接的方法可以控制pip
是否会尝试建立一个转出一个给定的包裹。我找到了relevant source code,显然,当且仅当:
由于该逻辑,可以通过在安装命令行上传递--no-cache-dir
来间接禁用pip对基于轮子的构建的使用。
答案 1 :(得分:4)
I got the answer, it is just the first time that the wheel will be build, after that, it will read from cache
答案 2 :(得分:3)
这取决于你的包是否是一个纯python包(不需要编译任何东西,只是复制文件)或者包含c源代码的包(在这种情况下需要编译并调用编译器)并执行,这需要更长时间。)
您可能还想看看轮子文件: