Virtual Environments with Python: Difference between revisions

From Littledamien Wiki
Jump to navigation Jump to search
Line 51: Line 51:
== Updating the python version for an existing virtual environment ==
== Updating the python version for an existing virtual environment ==


First, deactivate the virtual environment if it is running.
First, deactivate the virtual environment if it is running. <ref>[https://stackoverflow.com/a/51915509 How to change the python version of already existing virtualenv?] - Stackoverflow</ref>


<syntaxhighlight lang="sh">
<syntaxhighlight lang="sh">

Revision as of 18:18, 11 March 2020

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]

Deactivating a virtual environment

$ deactivate

Updating the python version for an existing virtual environment

First, deactivate the virtual environment if it is running. [3]

$ virtualenv --clear -p /path/to/my/python3.6 ./venv

Confirm the python version used by the virtual environment with:

$ ls -la ./venv/bin/python

Notes

See also

References