[IPython-dev] Editing manifest.in
Fernando Perez
Fernando.Perez at colorado.edu
Sun Jan 22 14:38:54 EST 2006
Ville Vainio wrote:
> I'd like to make ipython.py in the ipython root dir a standard part of
> the source distribution (setup.py sdist). Can I just add it to
> Manifest.in, or is there something else to do? It's handy in Windows,
> but it's also helpful on non-root Unix installs.
No: the trick this relies on, which is that it says
import IPython
and since the 'IPython/' directory is directly below, it imports it right
away, will cease to work very soon:
http://www.python.org/peps/pep-0328.html
On Unix, or even on windows with NTFS, there is no need for this at all, you
just use a symlink. I'm constantly switching between the development version
of ipython and old releases, trunks and branches, and there's no need for this
root-level ipython.py at all. In fact, I wanted to explain this to you
earlier, because I don't like polluting things like this with duplicated scripts.
All you need to do is to drop a symlink to the version you are currently
running in a directory which is in your PYTHONPATH. This is what mine looks like:
abdul[~/ipython]> d
/home/fperez/ipython
total 108
drwxr-xr-x 9 fperez 4096 Jun 2 2005 0.6.15/
lrwxrwxrwx 1 fperez 47 Jan 21 18:17 0.7.1 ->
/home/fperez/ipython/svn/ipython/branches/0.7.1/
drwxr-xr-x 5 fperez 4096 Jul 16 2005 attic/
drwxr-xr-x 3 fperez 4096 Jan 10 01:10 backup/
lrwxrwxrwx 1 fperez 29 Oct 23 22:16 chainsaw -> svn/ipython/branches/chainsaw/
drwxr-xr-x 2 fperez 4096 Jan 21 17:18 contrib/
drwxr-xr-x 4 fperez 4096 Dec 21 10:33 epydocs/
drwxr-xr-x 8 fperez 4096 Dec 29 11:56 homepage/
lrwxrwxrwx 1 fperez 5 Jan 21 18:17 ipython -> 0.7.1/
drwxr-xr-x 4 fperez 4096 Oct 7 17:30 misc/
-rw-r--r-- 1 fperez 2396 Aug 15 15:43 notes_svn
drwxr-xr-x 6 fperez 4096 Jan 10 13:23 projects.svn/
-rw-r--r-- 1 fperez 380 Jul 17 2005 py_questions
-rw-r--r-- 1 fperez 775 Sep 5 15:09 rkern
drwxr-xr-x 2 fperez 4096 Jan 12 23:41 sf.net/
drwxr-xr-x 7 fperez 4096 Aug 24 17:07 svn/
drwxr-xr-x 15 fperez 4096 Jan 22 01:43 test/
lrwxrwxrwx 1 fperez 17 Oct 23 22:16 trunk -> svn/ipython/trunk/
As you see, there I have an 'ipython' link, which is currently pointed at teh
0.7.1 dir, so ipython/IPython resolves out to 0.7.1. But I have sitting there
0.6.15, trunk and chainsaw, and I can switch between all 4 in a second just by
repointing a symlink.
This solution will work on any system with symlinks, which only excludes
FAT32. Since the one you propose causes duplication of scripts, and will stop
working anyway for 2.5, I think this is cleaner.
Cheers,
f
More information about the IPython-dev
mailing list