Question: I did the following command just now, pip install --upgrade ipykernel  However, i got Requirement already satisfied: ipykernel in ./anaconda3/lib/python3.8/site-packages (5.3.4) Collecting ipykernel Downloading ipykernel-6.5.0-py3-none-any.whl (125 kB) |████████████████████████████████| 125 kB 4.3 MB/s Collecting ipython<8.0,>=7.23.1 Downloading ipython-7.29.0-py3-none-any.whl (790 kB) |████████████████████████████████| 790 kB 9.2 MB/s Collecting debugpy<2.0,>=1.0.0 Downloading debugpy-1.5.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.9 MB) |████████████████████████████████| 1.9 MB 126.8 MB/s Collecting matplotlib-inline<0.2.0,>=0.1.0 Downloading matplotlib_inline-0.1.3-py3-none-any.whl (8.2 kB) Collecting traitlets<6.0,>=5.1.0 Downloading traitlets-5.1.1-py3-none-any.whl (102 kB) |████████████████████████████████| 102 kB 20.5 MB/s ... Requirement already satisfied: python-dateutil>=2.1 in ./anaconda3/lib/python3.8/site-packages (from jupyter-client<8.0->ipykernel) (2.8.1) Requirement already satisfied: ptyprocess>=0.5 in ./anaconda3/lib/python3.8/site-packages (from pexpect>4.3->ipython<8.0,>=7.23.1->ipykernel) (0.7.0) Requirement already satisfied: wcwidth in ./anaconda3/lib/python3.8/site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython<8.0,>=7.23.1->ipykernel) (0.2.5) Requirement already satisfied: six>=1.5 in ./anaconda3/lib/python3.8/site-packages (from python-dateutil>=2.1->jupyter-client<8.0->ipykernel) (1.15.0) Installing collected packages: traitlets, matplotlib-inline, ipython, debugpy, ipykernel Attempting uninstall: traitlets Found existing installation: traitlets 5.0.5 Uninstalling traitlets-5.0.5: Successfully uninstalled traitlets-5.0.5 Attempting uninstall: ipython Found existing installation: ipython 7.22.0 Uninstalling ipython-7.22.0: Successfully uninstalled ipython-7.22.0 Attempting uninstall: ipykernel Found existing installation: ipykernel 5.3.4 Uninstalling ipykernel-5.3.4: Successfully uninstalled ipykernel-5.3.4 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. spyder 4.2.5 requires pyqt5<5.13, which is not installed. spyder 4.2.5 requires pyqtwebengine<5.13, which is not installed. conda-repo-cli 1.0.4 requires pathlib, which is not installed. Successfully installed debugpy-1.5.1 ipykernel-6.5.0 ipython-7.29.0 matplotlib-inline-0.1.3 traitlets-5.1.1  I would like to revert my command, since some of my codes suddenly does not work . Is it possible? Thanks! It seems a lot fo packages are installed. Update So I actually had my environment.yaml from my previous conda env export > environment.yaml If I do conda env update --file environment.yaml --prune  It does not help me revert to my previous versions.... Can I force my base environment back to exactly environment.yaml?

Answer: I do not believe pip keeps a history of installed packages. If you have the text output from the terminal when you did the upgrade, pip does output a list of packages that will be installed, which version you had and which version you're replacing it with. You can manually revert each package by doing pip uninstall <package_name> && pip install <package_name>==<version_number> Edit: Based on your edits, I suggest you repost this question in terms of your conda environment. That's a totally different system, even though it does utilize pip. As a side note, you might be able to get away with just running pip install traitlets==5.0.5 pip install ipykernel==5.3.4 pip install ipython==7.22.0