ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
Add PATH to ~/.bash_profile
and ~/.zshrc
export PATH=/usr/local/bin:$PATH
brew install python
Add PATH to ~/.bash_profile
and ~/.zshrc
export PATH=/usr/local/share/python:$PATH
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]
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
-
Edit Python paths.
Sublime >> Preferences... >> Browse Packages...
- Click on
Python/Python.sublime-build
-
Install PackageControl. The simplest method of installation is through the Sublime Text console. The console is accessed via the ctrl+
shortcut or the
View > 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')
- 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.
Summary:
What's written below is a helpful way to install Python (+ others) on a Mac if you are doing analytics/data science.
FWIW, what is written by the OP is the "right way" for non-data scientists. If you are using Python for analytics, I recommend using Anaconda (specifically Miniconda) for as much as you can, instead of Pip.
There is nothing wrong with Pip, and in fact it contains far more Python packages than Conda. However, Conda (a) primarily focuses on numerical packages, (2) it can install things outside of Python (which is a real blessing when the Python package you are installing is "just a wrapper" around lower-level C or even FORTRAN packages, and (3) it does a fairly decent job of trying to find the minimally harmful clashes between versions of packages you have installed. Most data scientists, myself included, get kinda sloppy about this.
The "right way" to avoid clashes is to make a separate virtual environment for each different thing that you're working on, but as data scientists, we're often working with packages only as long as it takes us to realize we didn't like the results... but we might like that package in the future. Hence, clutter.
Inevitably,
conda
will not have things that you want to install. In that case, fall back onpip
, but be sure to go into a conda environment before runningpip
, so that you install into the same place you have put all of your Python packages installed from Conda.Unfortunately for us analysts using Macs, we have to rely upon
brew
,pip
, andconda
for installs. (And sometimes just raw downloads: I have had trouble trying to useR
withconda
orvirtualenv
.) It's a hassle, and it doesn't always work out, but my priority order isconda
, thenpip
, thenbrew
, then raw download.brew
should not be needed for any Python packages, nor should a raw download.