10

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. Commented Dec 30, 2016 at 3:05

1 Answer 1

16

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.

Sign up to request clarification or add additional context in comments.

2 Comments

wow. yeah. it was that easy. one note... you're /tmp/requirements.txt spelling is inconsistent ;-) Question... How do I verify that that Flask App is using the venv? As long as I source it, is it automatically using it?
yes, if you source it it will be using the one in the virtualenv

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.