[IPython-dev] Windows installer - Progress Report

Fernando Perez Fernando.Perez at colorado.edu
Sun Jun 20 20:30:54 EDT 2004

Viktor Ransmayr wrote:

> For the moment I just want to document the facts and the current status. - I
> attach portions of my work-log:
> 2004-06-20 12:31:28
> o Prepare a *minimal* version to send to FP and the mailing list.
> o Run 'bdist_wininst'.
> o Install 'IPython-0.6.1.cvs.win32.exe'
>  - Finished w/o a glitch; i.e.
>  - C:\Programme\IPython\IPython.py created.
>  - Menu 'Start > Alle Programme > IPython' created empty.

This needs fixing: my old hacked one was able to create the proper shortcuts, 
and that's ultimately our goal.  We want to get shortcuts made _both_ by the 
graphic installer and by a manual 'python setup.py install'.

By the way, I think my old hack re-copied the documentation from the dir where 
the source got unpacked over to C:\Program...\IPython.  But those docs are 
already being copied by setup.py.  It would be much better to just make the 
shortcuts point to the right place instead of making a second copy.  How to 
actually find at runtime where distutils ends up putting them may take a bit 
of work, I've never understood 100% how distutils makes all of its path 
decisions.  And it irks me to no end that there's no way to get a 'return' 
value from setup.py with all the information about what ended up where.

Good luck on this front: distutils is probably the single most annoying Python 
technology in existence (as much as I love most of Python, distutils pisses me 
off every single time I use it).

To summarize the goal: we want to have

1. A source installer which when called from a command-line as 'setup.py 
install', works

2. A GUI-driven .exe installer which also works to completion

Both 1 and 2 should put ipython where it belongs along with the documentation, 
and leave StartMenu shortcuts for the HTML/PDF manual, and also for 
new_design.pdf (same doc/ directory).

2 should allow ipython to be de-installed with the normal windows process. 
Users of 1 will need to clean up manually, but that's fine.  That's also how 
it works under Unix if a source-based install is made, there's no automatic 

> o Running C:\Programme\IPython\IPython.py in IDLE w/ 'Run Module' fails w/
> ### Begin of IDLE Output ###
>  >>> ================================ RESTART 
> ================================
>  >>>
> Traceback (most recent call last):
>   File "C:\Programme\IPython\IPython.py", line 26, in -toplevel-
>     import IPython
>   File "C:\Programme\IPython\IPython.py", line 27, in -toplevel-
>     IPython.Shell.IPShell().mainloop()
> AttributeError: 'module' object has no attribute 'Shell'
>  >>>
> ### End of IDLE Output ###

No surprise here.  Ipyhton is _not_ meant to run inside IDLE, at least not 
yet.  Idle changes the environment way too much for ipython to run correctly, 
among other things it mangles stdin/out/err.

Current CVS actually _kind of_ runs inside idle, but this is a total hack. 
For proper testing, use IPython from a normal terminal, with Gary's readline 
installed (I added to CVS code to complain --but not crash-- if Gary's lib is 

If you _also_ have cygwin, even better: it would be great if you could test in 
both environments.

I greatly appreciate your help on this front.  My famously catastrophic 
Windows support only got worse recently:  the only computer with Windows I 
could occasionally borrow died, and my wife is replacing it with a Macintosh 
Powerbook.  While this means the joy of never dealing with Windows again 
anymore for me, it also means I don't have any kind of access to the platform 
anymore.  So now _all_ windows-specific testing and development will have to 
be done by users.

Best regards,


More information about the IPython-dev mailing list