Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Keeping Installed Packages When Updating Python

I've got python 3.7 installed on Windows 10. The recommended way to upgrade to 3.8 appears to be to do a new installation, which means I will have both versions installed. I don't need both versions, but I would like to keep all the packages I installed for version 3.7.

How do I achieve this please? Also will new new path variable for 3.8 replace the one for 3.7?

The process for such a common use case seems strangely complex. Am I missing something?

like image 892
Robin Andrews Avatar asked Oct 15 '22 05:10

Robin Andrews


1 Answers

One way to do this is to run:

python3.7 -m pip freeze > installed.txt

Then, after installing the new Python version you can install the packages with:

python3.8 -m pip install -r installed.txt

There is a chance that the packages you installed for your old Python installation are not compatible with the new version. For that reason it is safer to keep both Python installations and then use virtual environments for each of your projects.

You can create a virtualenv for each of your projects, using the Python version you need for that project, and install your dependencies only in the virtualenv for that specific project. This way you can avoid the situation where project A requires an old version of a certain package but project B requires a newer one. If you install all your packages globally you run into problems in this case.

See also What is a virtualenv, and why should I use one?

like image 50
Lomtrur Avatar answered Oct 19 '22 00:10

Lomtrur