10
votes

I have a Flask application that is running in a Python 2 virtual environment.

I'm looking to run a Python 3 program, so I need to install python3 into the virtual environment. How do I do this? Do I have to recreate the environment? Is this a difficult migration?

1
That doesn't sound feasible. You have to pick one python version for a virtual environment. - wim

1 Answers

15
votes

It's not recommended to mix multiple versions of Python. In fact, I don't think it's even possible.

Creating a new virtualenv isn't difficult at all:

  1. Get the list of modules in the current virtualenv

    source /path/to/current/bin/activate
    pip freeze > /tmp/requirements.txt
    
  2. Create a new virtualenv. Either change into a suitable directory before executing the virtualenv command or give a full path.

    deactivate
    virtualenv -p python3 envname
    
  3. Install modules

    source envname/bin/activate
    pip install -r /tmp/requirements.txt
    

That's it.