[IPython-user] Re[2]: IPython not reloading file under Win2000

Fernando Perez Fernando.Perez at colorado.edu
Thu Jul 14 11:19:18 CDT 2005

Alan G Isaac wrote:

>>What version of ipython and what version of python are you 
>>using?  There is a bug in the inspect module (part of 
>>python) which can cause this.  I've personally never seen 
>>such behavior with current versions. 
> I had:
> Python 2.3.3 (#51, Dec 18 2003, 20:22:39) [MSC v.1200 32 bit (Intel)]
> IPython 0.6.2 -- An enhanced Interactive Python.

Certainly way too old.

> OK, so I downloaded the recent version and tried installing 
> it.  It tried using %USERPROFILE% oddly in the path to store 
> a .ini file, but this produced literally
> 'C:\Documents and Settings\aisaac\My Documents\%USERPROFILE%\_ipython'
> So there is an installation bug under Win2000.
> (I should note that I have seen other applications have
> problems with %USERPROFILE% under Win2000; I believe John
> had to fiddle with this for font caching.)

Well, the installer doesn't read USERPROFILE directly, this is the routine 

def get_home_dir():
     """Return the closest possible equivalent to a 'home' directory.

     We first try $HOME.  Absent that, on NT it's $HOMEDRIVE\$HOMEPATH.

     Currently only Posix and NT are implemented, a HomeDirError exception is
     raised for all other OSes. """

         return os.environ['HOME']
     except KeyError:
         if os.name == 'posix':
             raise HomeDirError,'undefined $HOME, IPython can not proceed.'
         elif os.name == 'nt':
             # For some strange reason, win9x returns 'nt' for os.name.
                     # Use the registry to get the 'My Documents' folder.
                     import _winreg as wreg
                     key = wreg.OpenKey(wreg.HKEY_CURRENT_USER,
"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders")
                     homedir = wreg.QueryValueEx(key,'Personal')[0]
                     return homedir
                     return 'C:\\'
         elif os.name == 'dos':
             # Desperate, may do absurd things in classic MacOS. May work 
under DOS.
             return 'C:\\'
             raise HomeDirError,'support for your operating system not 

I know other users are successfully using ipython under win2k, so I doubt it's 
a win2k-specific problem.  I'm more inclined to think that there's something a 
bit different about your setup which is confusing the above routine.

> Now I no longer have the problem I reported, which you 
> attributed to the inspect module, but I have lost the nice 
> highlighting I had before---presumably because I have no 
> *.ini file and so have lost all runtime configurations.

Do you have current readline and ctypes as per this?


If you do, you could try to simply execute the above routine in a python 
shell, to see what it gives for your system (it's in IPython.genutils).  Based 
on that, ipython stores all its config in a subdir called .ipython/, below 
whatever get_home_dir() returns.

I hope this helps,


More information about the IPython-user mailing list