Instantly share code, notes, and snippets.

Embed
What would you like to do?
How to install Python correctly on Mac OSX

Install Homebrew

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

Add PATH to ~/.bash_profile and ~/.zshrc

export PATH=/usr/local/bin:$PATH

Install Python

brew install python

Add PATH to ~/.bash_profile and ~/.zshrc

export PATH=/usr/local/share/python:$PATH

Install helpful modules

pip install virtualenv
pip install virtualenvwrapper
pip install numpy
brew install gfortran
pip install scipy
brew install freetype
pip install matplotlib
pip install ipython[all]

QT for Python

For QT integration you need to download QT SDK and then PyQT

brew install pyqt

After installing pyqt, Homebrew will prompt you to add the following to your .bash_profile:

export PYTHONPATH=/usr/local/lib/python:$PYTHONPATH

Keep installing dependences for PyQT

brew install zmq
pip install pyzmq
pip install pygments

Setting up Sublime

  1. Download and Install Sublime

  2. Edit Python paths.

    • Sublime >> Preferences... >> Browse Packages...
    • Click on Python/Python.sublime-build
  3. Install PackageControl. The simplest method of installation is through the Sublime Text console. The console is accessed via the ctrl+shortcut or theView > Show Console menu`. Once open, paste the appropriate Python code for your version of Sublime Text into the console.

import urllib2,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')
  1. Modify the code to point to the right brew paths. Ex:
{
	"env":{
		"PATH":"/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/bin:/usr/local/share/python",
		"PYTHONPATH":"/usr/local/lib/python:/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages"
		},
	"cmd": ["/usr/local/bin/python", "-u", "$file"],
	"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
	"selector": "source.python"
}

Python Autocompletion with SublimeCodeIntel

Once you install Package Control, restart ST2 and bring up the Command Palette (Command+Shift+P on OS X, Control+Shift+P on Linux/Windows). Select "Package Control: Install Package", wait while Package Control fetches the latest package list, then select SublimeCodeIntel when the list appears. The advantage of using this method is that Package Control will automatically keep SublimeCodeIntel up to date with the latest version.

@nok

This comment has been minimized.

Show comment
Hide comment
@nok

nok May 5, 2015

Hello @patriciogonzalezvivo,

because of Homebrew/homebrew-science#1291 (comment) you should replace brew install gfortran with brew install gcc.

~ brew install gfortran
Error: No available formula for gfortran
GNU Fortran is now provided as part of GCC, and can be installed with:
  brew install gcc

Happy coding,
Darius

nok commented May 5, 2015

Hello @patriciogonzalezvivo,

because of Homebrew/homebrew-science#1291 (comment) you should replace brew install gfortran with brew install gcc.

~ brew install gfortran
Error: No available formula for gfortran
GNU Fortran is now provided as part of GCC, and can be installed with:
  brew install gcc

Happy coding,
Darius

@seamusdemora

This comment has been minimized.

Show comment
Hide comment
@seamusdemora

seamusdemora Oct 1, 2015

I've read that gcc shouldn't be installed if you also have Xcode installed.

REF: http://docs.python-guide.org/en/latest/starting/install/osx/

seamusdemora commented Oct 1, 2015

I've read that gcc shouldn't be installed if you also have Xcode installed.

REF: http://docs.python-guide.org/en/latest/starting/install/osx/

@dimpase

This comment has been minimized.

Show comment
Hide comment
@dimpase

dimpase Dec 4, 2016

Xcode does not provide any Fortran, so you really will need gfortran (and thus gcc) if you need it.

dimpase commented Dec 4, 2016

Xcode does not provide any Fortran, so you really will need gfortran (and thus gcc) if you need it.

@slhck

This comment has been minimized.

Show comment
Hide comment
@slhck

slhck Aug 1, 2017

As of now, this does not work anymore. On macOS with Homebrew you have to set the path as follows:

export PATH="/usr/local/opt/python/libexec/bin:$PATH"

Otherwise the system python will come first. Check brew info python for the caveats.

slhck commented Aug 1, 2017

As of now, this does not work anymore. On macOS with Homebrew you have to set the path as follows:

export PATH="/usr/local/opt/python/libexec/bin:$PATH"

Otherwise the system python will come first. Check brew info python for the caveats.

@CameronHudson8

This comment has been minimized.

Show comment
Hide comment
@CameronHudson8

CameronHudson8 May 19, 2018

After adding a path to ~/.bash_profile, you have to run source ~/.bash_profile in the terminal. Otherwise, the change doesn't register.

CameronHudson8 commented May 19, 2018

After adding a path to ~/.bash_profile, you have to run source ~/.bash_profile in the terminal. Otherwise, the change doesn't register.

@Mawer

This comment has been minimized.

Show comment
Hide comment
@Mawer

Mawer Jun 22, 2018

Hi, I have already Python 2.7 & 3.5 on my Mac. I have been writing python programs using the IDLE.
I now have need to install 'Homebrew' - I didn't previously know about 'Homebrew' as I am new to programming.
When I try to install 'Homebrew' on the command line it fails.
When I run 'brew doctor' I get the following warnings:

Warning: "config" scripts exist outside your system or Homebrew directories.
./configure scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.

Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:
/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5m-config
/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5-config
/Library/Frameworks/Python.framework/Versions/3.5/bin/python3-config
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python-config

If I uninstall both versions of Python and then reinstall using 'Homebrew' I will lose months of work, is there another way around this?

Thanks.

Mawer commented Jun 22, 2018

Hi, I have already Python 2.7 & 3.5 on my Mac. I have been writing python programs using the IDLE.
I now have need to install 'Homebrew' - I didn't previously know about 'Homebrew' as I am new to programming.
When I try to install 'Homebrew' on the command line it fails.
When I run 'brew doctor' I get the following warnings:

Warning: "config" scripts exist outside your system or Homebrew directories.
./configure scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.

Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:
/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5m-config
/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5-config
/Library/Frameworks/Python.framework/Versions/3.5/bin/python3-config
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python-config

If I uninstall both versions of Python and then reinstall using 'Homebrew' I will lose months of work, is there another way around this?

Thanks.

@1nk1

This comment has been minimized.

Show comment
Hide comment
@1nk1

1nk1 Aug 2, 2018

Hello @patriciogonzalezvivo,

because of Homebrew/homebrew-science#1291 (comment) you should replace brew install gfortran with brew install gcc.

~ brew install gfortran
Error: No available formula for gfortran
GNU Fortran is now provided as part of GCC, and can be installed with:
brew install gcc
Happy coding,
Darius

Maybe you try this:
brew cask install gfortran

1nk1 commented Aug 2, 2018

Hello @patriciogonzalezvivo,

because of Homebrew/homebrew-science#1291 (comment) you should replace brew install gfortran with brew install gcc.

~ brew install gfortran
Error: No available formula for gfortran
GNU Fortran is now provided as part of GCC, and can be installed with:
brew install gcc
Happy coding,
Darius

Maybe you try this:
brew cask install gfortran

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