Virtual Environments with Python

From Littledamien Wiki
Jump to navigation Jump to search

Overview

Mac OS X Yosemite comes with Python 2.7 installed.

After installing Python 3.4, the python command still invokes Python 2.x. To use Python 3 use the python3 command instead.

Similarly, the pip command invokes pip that was installed with Python 2.x. So, pip install [package_name] will install for Python 2.x and leave Python 3.x unchanged. pip3 can be used to update Python 3.x on the command line. (pip3 is installed as part of the Python 3.x package.)

Creating virtual environments on Mac

First, install virtualenv if it is not already installed: pip(3) install virtualenv. A new terminal shell is required to have the virtualenv command available.[1]

$ virtualenv -p /Library/Frameworks/Python.framework/Versions/3.4/bin/python3 venv
$ source venv/bin/activate
$ pip install package-name

Once the virtualenv has been created it can be activated with the 2nd command:

$ source ~/venv/bin/activate

On Windows: .\venv\scripts\activate

To exit the virtualenv enter deactivate at the command prompt. This routine is defined within the virtualenv activate script.

To find the path to Python 3.x:

$ which python3

N.B. Packages will probably have to be installed for new virtual environments, e.g. django, etc.

Using a virtual environment in PyCharm

  • PyCharm > Preferences > Project: '[CURRENT_PROJECT]' > Project Interpreter
    • Click the gear icon to the right of Project Interpreter:
      • Choose Add Local for existing virtualenv, or Create VirtualEnv for a new one
      • Select the virtualenv, and apply the changes.[2]

References

  1. Build a virtualenv of python 3 - Stack Overflow
  2. Creating Virtual Environment - PyCharm 4.5.3 Help