3 ms·
> does Python require you to download an entire package just to determine its dependencies? yes - the standard way of defining dependencies in Python is in set
by raziel2p 6y ago
> does Python require you to download an entire package just to determine its dependencies?
yes - the standard way of defining dependencies in Python is in setup.py, which has to be invoked as a Python script in order to work. this script may also need to read files from the rest of the project, so you do indeed need to download the whole package to determine its dependencies.
even if the Python community were to agree on a new configuration format tomorrow, there would still be a ton of packages out there that wouldn't migrate for years.
- epistasis 6y agoIt seems that this information should cacheable after an invocation of setup.py, at least for an installation without any extras. And even with extras requested, perhaps. Or is there any even greater hidden challenge from using setup.py?
- JaDogg 6y agosetup.py can check the OS and pick necessary requirements. so it can have different dependencies in different OSes. I've used it like this - https://github.com/JaDogg/pydoro/blob/b1b3de38ac15b9254ef1bef636b6150e446272da/setup.py#L26 https://github.com/JaDogg/pydoro/blob/b1b3de38ac15b9254ef1be...
- claytonjy 6y agoDoes this imply that poetry will "solve" dependencies quicker the more of the dependencies use `pyproject.toml`? Or is that "hidden" once something is sent to PyPI anyways?
- uranusjr 6y agoWith several asterisks attached, but yes, the move would make dependency resolution faster.