[IPython-dev] IPython notebook on Windows Azure

Dave Hirschfeld dave.hirschfeld at gmail.com
Sun Jun 10 09:39:32 EDT 2012

Thomas Kluyver <takowl <at> gmail.com> writes:

> Just scanning through the documentation for Windows Azure, I notice
> that they have instructions for setting up the IPython notebook both
> on Linux and Windows (it's not clear why you'd want the extra hassle
> of setting everything up on Windows, but I guess someone will want
> to).
> http://www.windowsazure.com/en-us/develop/python/tutorials/ipython-notebook/

Thanks Brian & Fernando for the great tutorial - I've been meaning to try out 
Azure for a while so this gave me the perfect excuse to finally give it a go!

For anyone else going through the hassle of setting it up on Windows, here's a 
few things I learnt along the way:

After setting up a Windows Server VM you start out with Internet Explorer having 
security settings which prevent you for visiting any website without a security 
alert popping up. More importantly, you also can't download anything. To fix 
this you need to got to Security tab in the Tools -> Internet Options dialog. In 
the "Internet Zone" you can't change the level from High so you have to click 
the Custom Level button and enable the required functionality. At this point I 
enabled everything, downloaded Chrome and proceeded from there.

Having got the notebook server up & running I then tried to view it locally on 
"http://localhost:9999". This didn't work and in the terminal where the notebook 
server was running I got the following error message:

_ssl.c:503: error:1407609C:SSL routines:SSL23_GET_CLIENT_HELLO:http request

A little bit of googling seemed to suggest this had something to do with trying 
to access a https site using the http protocol and sure enough 
"https://localhost:9999" took me to the notebook login page.

Finally, despite confirming it was running locally I couldn't access it via 
"https://ipython-demo.cloudapp.net". I confirmed this was a firewall issue by 
turning off the firewall entirely. With a bit of trial and error I found that it 
was only necessary to open port 9999 in the firewall to have external access.

This can be done from the firewall gui: go to Start -> Run, enter wf.msc then 
create a new Inbound rule to open port 9999 on the Public Profile.

Alternatively, entering the following command in a terminal will also do the 

netsh firewall set portopening protocol = TCP port = 9999 name = nbserver mode = 
ENABLE scope = ALL profile = CURRENT

AFAICS you get charged for your VM whether or not it's running? Is the only way 
to stop being charged is to delete all your VMs and recreate them when you want 
to use them again? If that is the case, you'll probably want to create an image
so when you create a new VM you can pick up from where you left off. Following 
the instructions below it was fairly easy to do:


I'll have to look into setting up an ipython cluster on Azure next!


More information about the IPython-dev mailing list