pypa / pipenv

Python Development Workflow for Humans.
https://pipenv.pypa.io
MIT License
24.86k stars 1.86k forks source link

Lock updating is very slow #1914

Closed wichert closed 6 years ago

wichert commented 6 years ago

Updating a lockfile can be very slow. A standard pipenv lock easily takes well over a minute for me:

$ time pipenv lock 
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock (abef76)!

real    1m56.988s
user    0m21.805s
sys 0m2.417s

This means every time I need to install, uninstall or upgrade a package I need to take a 2-minute break to wait for pipenv to finish updating its lockfile. I'm not sure why that is; yarn and npm seem to perform a similar task but only take seconds, even for projects that have many many more dependencies.

truekonrads commented 2 years ago

For what it's worth, it still feels too slow. Is there a different issue where this is tracked?

matteius commented 2 years ago

@truekonrads and others -- I am locking conversation on this issue because the originally issue from 2018 of why it was slow has been resolved. For all of the people that come here to comment in the modern day that pipenv feels really slow, just know that it is super hard to support you because you are generally providing zero examples. You have none of the default from the issue report template information, no reproduction case or supporting evidence, no version info, whether you are using a private pypi (because that will be a lot slower since there is no API to collect package hashes like there is for pypi so everything has to be downloaded and built to determine the hash). If you think that there is a need or realistic chance to optimize pipenv speed then please have at opening a brand new issue report with complete context. However note that my analysis has not revealed anything with current pipenv version just wasting time just and slow for no reason, so if you do open a new issue report please try to support your claim with as much details and data as possible.