How to move all modules to new version of Python (from 3.6 to 3.7)

Even if the old python version has been removed, it is possible to use the pip of the current python version with the --path option to list all the modules installed in the previous version.

For example, migrating all my user installed python modules from 3.7 to 3.8

pip freeze --path ~/.local/lib/python3.7/site-packages > requirements.txt
pip install --user -r requirements.txt

Incidentally, I always use pip install with --user and leave the system wide installations to the package manager of my linux distro.

It is safer to re-install all packages due to possible compatibility issues:

pip3.6 list | awk '{print $1}' | xargs -I{} pip3.7 install {}

Leave a Comment