How do I make Python 3.5 my default version on MacOS?
Since Python 2 and 3 can happily coexist on the same system, you can easily switch between them by specifying in your commands when you want to use Python 3.
So for Idle, you need to type idle3
in the terminal in order to use it with Python 3 and idle
for using it with Python 2.
Similarly, if you need to run a script or reach a python prompt from the terminal you should type python3
when you want to use Python 3 and python
when you want to use Python 2.
It's good practice to have your MacOS Python environment set up properly from the beginning making sure that Homebrew installations take precedence over stock MacOS binaries. You want it in usr/local/bin
not MacOS default usr/bin
.
.bash_profile
# Ensure user-installed binaries take precedence
export PATH=/usr/local/bin:$PATH
# Load .bashrc if it exists
test -f ~/.bashrc && source ~/.bashrc
Can also create aliases for both.
alias py2='python2.7'
alias py3='python3.6'
Source the file to ensure it takes effect for the current session
source ~/.bash_profile
Homebrew install and setup etc...
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew doctor
brew update
brew upgrade --all
brew cleanup
Python3 install
brew install python3
Next
pip3 install virtualenv
Next
pip3 install virtualenvwrapper
When all is finished python3
, pip3
, virtualenv
, and virtualenvwrapper.sh
will all be in usr/local/bin
.
Result
Every time I install anything or use commands like mkvirtualenv
Python 3 is used by default.
You can use the python3
command (instead of using python
), or you can simply uninstall the 2.7 version if you don't use it