Pip, Pipenv, Poetry or Conda

Ahmed Nafies
6 min readJul 29, 2020

Which package manager to use in 2020?


The majority of developers when they get introduced to python, most probably pip is first tool they learn to use to manage packages. I have used pip for the first couple of years working as a developer and at that time there were almost no alternatives until that has changed.

The Pip

pip comes by default with python and installing packages with pip is pretty straight-forward,

Just pip it …

$ pip install [package-name]

If you need to keep you packages organised, and you don’t want to install project packages in the user or systems path, probably you will need to use a virtual environment .

$ python3 -m venv venv

Then you need to activate it

example (linux/unix)

$ source venv/bin/activate

And then de-activate when finished

$ deactivate

Next step would be to keep track of the installed packages

$ pip freeze >> requirements.txt

And it would be of great help when someone else needed to install this project somewhere else.