To start coding with Python, all you really need is Python. But if you want to write code collaboratively, deploy code on servers, and take advantage of high performance computing infrastructure, you’ll need a few more tools.


If you’re running Linux, there’s not much to do. Just install git and vim with your native package manager. On Ubuntu that looks like

sudo apt-get install git-core vim

You can get Anaconda Python here. That’s all you have to install, brave Linux user; just skip down to the bottom for some configuration advice.


You’re also in luck if you have a Mac. OSX comes with vim already installed, so you just need git and Anaconda. First install Homebrew, a command line program for installing other programs. It’s like a hacker version of an app store. You can get it here.

Next use Homebrew to install git:

brew install git

Finally, snag a copy of Anaconda Python here. You’re almost done! Skip to the bottom and read about configuring your environment, and you’ll be ready to go.


If you’re using Windows, you have a few options. My recommendation is to erase your hard drive and start clean with Linux. It’s free and it works great – try it.

If that isn’t an option for you, you can install Linux alongside Windows as a dual boot operating system. This leaves your Windows partition unharmed, but it can be kind of a pain to reboot your computer every time you want to write code.

A third approach is to run VirtualBox, a free program that allows you to install another OS inside your main OS. Install VirtualBox, then download a Linux distribution and install it as a virtual machine. This is a more complicated option, but it allows you to keep Linux tucked away in a little Windows sandbox. I’ve created a pre-configured virtual machine you can download if you go this route. Here’s the link. (Warning: ~2GB)

Of course, you can always install git, vim, and Anaconda Python directly in Windows. All I can say about that is you’re on your own, sorry :(

Configuring your new software

Anaconda Python comes ready to roll, right out of the box. Git and vim benefit from a bit of preliminary tweaking, though.

To set up git, I recommend following these instructions to permanently store the name and email address associated with your code, and this guide to caching your GitHub password locally so you won’t have to type it over and over once you start cranking out commits.

Vim is extremely configurable. It should work fine without any setup, but if you’re feeling ambitious you can install Vundle, a Vim plugin manager. Once it’s installed, I recommend installing a tab-completion plugin, like this one.

That’s it, you are ready to code.