Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I make Python 3.5 my default version on MacOS?

I have just installed Python 3.5.1 on my Mac (running the latest version of OSX). My system came with Python 2.7 installed. When I type IDLE at the Terminal prompt my system pulls up the original Python 2.7 rather than the newly installed Python 3.5. How do I get my system to default to Python 3.5.1 when I open the IDLE window from Terminal?

like image 793
user3798654 Avatar asked Dec 30 '15 10:12

user3798654


2 Answers

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.

like image 80
Railslide Avatar answered Oct 18 '22 11:10

Railslide


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.

like image 30
Edison Avatar answered Oct 18 '22 11:10

Edison