Following a discussion with @grafolytics, it has been suggested to add a dedicated chapter (or supplementary page) about the basics of Python virtual environment, python shell switching, pip and the need to better/more robust tools. Think about this additiona page as an 101, expanded documentation about the need to use poetry instead of pip/conda.
While not directly part of MLOps, the rational for this documentation is that many Data Scientists don't actually understand how the underlying Python virtual environments work, or why they are needed in the first place (and having learned most of it the hard way over many years, I'd even go as far as most Python users/developers don't either). Not understanding these basics would lead to botched attempts to solve issues in the wrong way (such as mixing pip/poetry with conda packages) and utter disappointment when these issues will eventually occurs.
Some food for thought:
Why not tell people to "simply" use pyenv, poetry or anaconda: An article that makes the point that extra tools build above what is provided as standard by Python do indeed solves some shortcoming, but bring an additional layer of complexity and abstraction that make occuring issues difficult to solve. The article does encourage to not use any additional toll and "keep it simple" to avoid issues, which is obviously not possible here as these shortcoming need to be solved in the context of MLOps (lock and versioning of transitive dependencies). The case of adding another layer of complexity/confusion is valid however.
Following a discussion with @grafolytics, it has been suggested to add a dedicated chapter (or supplementary page) about the basics of Python virtual environment, python shell switching, pip and the need to better/more robust tools. Think about this additiona page as an 101, expanded documentation about the need to use poetry instead of pip/conda.
While not directly part of MLOps, the rational for this documentation is that many Data Scientists don't actually understand how the underlying Python virtual environments work, or why they are needed in the first place (and having learned most of it the hard way over many years, I'd even go as far as most Python users/developers don't either). Not understanding these basics would lead to botched attempts to solve issues in the wrong way (such as mixing pip/poetry with conda packages) and utter disappointment when these issues will eventually occurs.
Some food for thought:
What do you guys think?