Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

python 3.7 venv broken after upgrade to Ubuntu 20.04

I've just upgraded to Ubuntu 20.04. I was working with a python 3.7 project using Django inside a virtual environment, so I was confident even with the upgraded distro (which involved the installation of python 3.8) my venv would still worked. Unfortunately, that's not the case: when I activate my venv, the interpreter of python is still the 3.8 version, and nothing works. python 3.7 is completely missing. What can I do to restore my project?

like image 255
dc_Bita98 Avatar asked May 01 '20 11:05

dc_Bita98


People also ask

How do I use Python 3.7 in venv?

Show activity on this post. You will see something like this: Running virtualenv with interpreter C:\Python37\python.exe Using base prefix 'C:\Python37' New python executable in C:\Users\XXXX\Documents\GitHub\MyProject\venv\Scripts\python.exe Installing setuptools, pip, wheel... done.

Is Python venv deprecated?

Virtualenv has been deprecated in Python 3.8.


1 Answers

Same problem for me. This is my solution if you do not want to upgrade everything (perhaps not all package are upgradable).

  1. Install python 3.7 which is gone with upgrade to ubuntu 20

    sudo add-apt-repository ppa:deadsnakes/ppa
    sudo apt-get update
    sudo apt-get install python3.7
    
  2. in your virtualenv dir (e.g env/) edit last line in pyenv.cfg

    version = 3.7
    
  3. set back soft link of python3 in env/bin linking back to 3.7

    ln -s  /usr/bin/python3.7 python3
    

You may need to delete old symlik before creating new one

Now, should work: it does for me!

like image 169
Joff Avatar answered Oct 25 '22 01:10

Joff