Skip to content

Instantly share code, notes, and snippets.

Star You must be signed in to star a gist
Save pandafulmanda/730a9355e088a9970b18275cb9eadef3 to your computer and use it in GitHub Desktop.
Setting up and using Python3 Virtualenv on Mac

Python3 Virtualenv Setup

  • Python 3
  • Pip 3
$ brew install python3

Pip3 is installed with Python3


To install virtualenv via pip run:

$ pip3 install virtualenv

Creation of virtualenv:

$ virtualenv -p python3 <desired-path>

Activate the virtualenv:

$ source <desired-path>/bin/activate

Deactivate the virtualenv:

$ deactivate

About Virtualenv

Copy link

Thank you. It works!

Copy link

vitalibertas commented Sep 18, 2019

Thanks! Every single time Homebrew does an update to Python I forget that the new version totally hoses up the venv (because I never deactivate it) so your page is very useful for me every couple of months.

Copy link

Thanks, it worked perfectly!

Copy link

Totally saved me after I had an issue with brew. Thank you!

Copy link

Great and simple! Thank you!

Copy link

llipe commented May 30, 2020

Awesome, I needed to steal it as a Gist for future references. Thanks.
As a note, is common to use "venv" as the path/folder to store virtual env info. This is usually included within .gitignore files.

Copy link

haven't used MacOS for a while. Saving this for the new laptop:)

Copy link

@raitisd: Well, that's the idea.

For some reason, brew recently decided that python refers to python3 instead of python2.
It's a pain in the ass.

Here, I wrote you a little script:

brew uninstall --force --ignore-dependencies python python2 python2.7 python3 python3.6 > /dev/null 2>&1
brew install python@2 python@3 > /dev/null 2>&1
echo; for x in python python2 python3; do 
which $x; readlink $(which $x); $x --version; echo; done

The output should look like this:

Python 2.7.14

Python 2.7.14

Python 3.6.4

If it does, it should be fixed.

The copy of python that belongs to the OS still lives here: /usr/bin/python

I was getting this error **
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3'


java.lang.IllegalStateException: Creating virtual env exited with 1. Check the logs for more details.

I am using MacOS, and python2.7 comes inbuilt. I was facing some issues while installing virtualenv, installed it with pip after some efforts. But now I think the conflict is due to the python versions (2.7 & 3). I do not have Python 3 installed in my system.
So I tried your script @tjt263, but got the below response **

Python 2.7.10

-bash: python2: command not found

-bash: python3: command not found

Any idea what could possibly be the issue?

Copy link

Youre awesomeeeee

Copy link

elulcao commented Aug 23, 2020

Worked like a charm!

Copy link

Swap76 commented Nov 3, 2020

Thanks It worked

Copy link

Copy link

if it fails for you in:
virtualenv -p python3 <desired_path>
python3 -m virtualenv <desired_path>

If i use both of this i get this error
Someone help me rectify it
zsh: parse error near `\n'

Copy link

Hi, what if my macOS already has python3 and if I installed python3 via brew, its not going to use the brew version. What should I do ? Thanks!

Copy link

hello all,
I have the same error:

if it fails for you in:
virtualenv -p python3 <desired_path>
python3 -m virtualenv <desired_path>

If i use both of this i get this error
Someone help me rectify it
zsh: parse error near `\n'

can someone help me please ???

Copy link

Creation of virtualenv:
python3 -m venv <desired_path>

To create a virtual environment, go to your project’s directory and run venv. If you are using Python 2, replace venv with virtualenv in the below commands.

Copy link

yeckfam commented Jul 12, 2022

Got below error after enter: pip3 install virtualenv, how do I resolve this?

Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: virtualenv in /Users/fanyang/Library/Python/3.8/lib/python/site-packages (20.15.1)
Requirement already satisfied: distlib<1,>=0.3.1 in /Users/fanyang/Library/Python/3.8/lib/python/site-packages (from virtualenv) (0.3.4)
Requirement already satisfied: six<2,>=1.9.0 in /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/site-packages (from virtualenv) (1.15.0)
Requirement already satisfied: platformdirs<3,>=2 in /Users/fanyang/Library/Python/3.8/lib/python/site-packages (from virtualenv) (2.5.2)
Requirement already satisfied: filelock<4,>=3.2 in /Users/fanyang/Library/Python/3.8/lib/python/site-packages (from virtualenv) (3.7.1)

Copy link

if it fails for you in: virtualenv -p python3 <desired_path> Try: python3 -m virtualenv <desired_path>

Thanks so much! Only this command gets worked for my Mac!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment