4 ms·
Ask the Python pipenv people. Take a look at their GitHub issues. https://github.com/pypa/pipenv/issues https://github.com/pypa/pipenv/issues Perhaps they nee
by sansnomme 7y ago
Ask the Python pipenv people. Take a look at their GitHub issues.
https://github.com/pypa/pipenv/issues https://github.com/pypa/pipenv/issues
Perhaps they need to "rewrite it in Rust" /s
Their competitor's isn't much better either when it comes to dependency resolution related bugs.
https://github.com/sdispater/poetry/issues https://github.com/sdispater/poetry/issues
- steveklabnik 7y agohttps://poetry.eustace.io/docs/faq/#why-is-the-dependency-resolution-process-slow https://poetry.eustace.io/docs/faq/#why-is-the-dependency-re... This is due to the fact that not all libraries on PyPI have properly declared their metadata and, as such, they are not available via the PyPI JSON API. At this point, Poetry has no choice but downloading the packages and inspect them to get the necessary information. This is an expensive operation, both in bandwidth and time, which is why it seems this is a long process. https://github.com/pypa/pipenv/issues/2284#issuecomment-395294319 https://github.com/pypa/pipenv/issues/2284#issuecomment-3952... (from 2018, may be outdated) we compute a resolution graph that attempts to satisfy all of the dependencies you specify, before we build your environment. That means we have to start downloading, comparing, and often times even building packages to determine what your environment should ultimately look like, all before we've even begun the actual process of installing it (there are a lot of blog posts on why this is the case in python so I won't go into it more here). ------------------ As I stated in another comment on this thread, Cargo has to do none of this. This stuff is the source of things being slow, not the actual "Okay I have all the versions and constraints, what's the answer" bit.
- sansnomme 7y agoAre there any plans to increase the amount of metadata on e.g PyPy?
- steveklabnik 7y agoI have no idea, I'm not involved in Python in any way.