В виртуальной среде Python 3 выполняется следующее.Почему `pip3 install numpy` намного быстрее, чем устанавливать его в` install_requires`?
Я только что написал небольшой пакет, который требует numpy
. Итак, в setup.py
я написал install_requires=['numpy']
. Я запустил python3 setup.py install
, и потребовалось что-то вроде двух минут - я получил полный экран дампов журналов, предупреждений и конфигураций, которые обычно поставляются с установкой numpy.
Затем я создал новую виртуальную среду, и на этот раз просто написал pip3 install numpy
, который занял всего несколько секунд, а затем запустил python3 setup.py install
, и я был сделан почти сразу.
В чем разница между двумя, и почему было pip3 install numpy
намного быстрее? Должен ли я включать requirements.txt
, чтобы люди могли устанавливать требования, а не использовать setuptools?
Обратите внимание, что, когда я писал pip3 install numpy
, я получил следующее:
Collecting numpy
Using cached numpy-1.12.0-cp36-cp36m-manylinux1_x86_64.whl
Installing collected packages: numpy
Successfully installed numpy-1.12.0
Возможно ли, что это было намного быстрее, потому что NumPy колесо уже в кэше?
Использование ** cached ** numpy? – McGrady
@McGrady Да, я предполагаю, что у этого есть колесо, кэшированное, а не сама установка. Когда я устанавливаю numpy с помощью setuptools, на загрузку затрачивается всего несколько секунд - оставшаяся часть времени тратится на установку. – Newb
Если вы попытаетесь установить свой пакет в новом вену, то теперь он быстрее, чем в первый раз? – Eric