3 ms·
When you are doing machine learning, conda is widely used. Why? Because you can install non-python things like cudatoolkit or ffmpeg (you can even install pytho
by wdroz 6y ago
When you are doing machine learning, conda is widely used. Why? Because you can install non-python things like cudatoolkit or ffmpeg (you can even install python, so you are sure that everybody are using the same version of python)
Python is fantastic at gluing specialized tools/libraries, but a lot of these require non-python dependencies (most are written in more performant languages). IMO, this is a big differences when comparing with Cargo for Rust because most of the dependencies in Rust are written in Rust.
The state of packaging in Python is kinda meh, the official documentation here [0] suggests to create 3 additional files in order to create a package:
- pyproject.toml
- setup.cfg
- setup.py # optional, needed to make editable pip installs work
if you add conda, you may need 2 additional files:
- meta.yaml # to build you conda package
- environment.yml
With this much boilerplate, I understand why people are creating tools like flit.
[0] -- https://packaging.python.org/tutorials/packaging-projects/ https://packaging.python.org/tutorials/packaging-projects/