One of the main strengths of Python is the ecosystem, the third-party packages on PyPI. There are packages to do anything from running computations in parallel on GPUs for machine learning to reducing the boilerplate needed for writing classes. This means that a lot of the practical work with Python is handling the third-party dependencies.
The current packaging tooling is pretty good, but things have not always been this way. It is important to understand which best practices are antiquated rituals based on faulty assumptions but have some merit ...