The first step on working with Python project is the dependency management. To avoid dependencies conflict on your machine, you should consider handling dependencies with some of the Python. There are several options to handle dependencies:
Pipfile
as you install/uninstall packages. It also generates the ever-important Pipfile.lock
, which is used to produce deterministic builds.The software stack is made by several layers as you can see from the image below, therefore Python dependencies are only one layer in the all stack. Beside selecting packages to be installed, we also have to consider the Python interpreter version (e.g. 3.8). Both Pipenv and Conda allows you to select also the interpreter.
Image source: https://thoth-station.ninja/
https://pipenv.pypa.io/en/latest/install/
https://docs.conda.io/projects/conda/en/latest/user-guide/install/linux.html