2
# -*- coding: utf-8 -*-
3
r"""Setup script for exe distribution of IPython (does not require python).
7
- install pyreadline *package dir* in ipython root directory by running:
9
svn co http://ipython.scipy.org/svn/ipython/pyreadline/branches/maintenance_1.3/pyreadline/
10
wget http://ipython.scipy.org/svn/ipython/pyreadline/branches/maintenance_1.3/readline.py
12
OR (if you want the latest trunk):
14
svn co http://ipython.scipy.org/svn/ipython/pyreadline/trunk/pyreadline
16
- Create the distribution in 'dist' by running "python exesetup.py py2exe"
18
- Run ipython.exe to go.
22
#*****************************************************************************
23
# Copyright (C) 2001-2005 Fernando Perez <fperez@colorado.edu>
25
# Distributed under the terms of the BSD License. The full license is in
26
# the file COPYING, distributed as part of this software.
27
#*****************************************************************************
37
isfile = os.path.isfile
40
from distutils.core import setup
41
from distutils import dir_util
44
# update the manuals when building a source dist
45
# Release.py contains version, authors, license, url, keywords, etc.
46
execfile(pjoin('IPython','Release.py'))
48
# A little utility we'll need below, since glob() does NOT allow you to do
49
# exclusion on multiple endings!
50
def file_doesnt_endwith(test,endings):
51
"""Return true if test is a file and its name does NOT end with any
52
of the strings listed in endings."""
63
# Call the setup() routine which does most of the work
67
'packages' : ['IPython', 'IPython.Extensions', 'IPython.external',
69
'excludes' : ["Tkconstants","Tkinter","tcl",'IPython.igrid','wx',
70
'wxPython','igrid', 'PyQt4', 'zope', 'Zope', 'Zope2',
71
'_curses','enthought.traits','gtk','qt', 'pydb','idlelib',
77
description = description,
78
long_description = long_description,
79
author = authors['Fernando'][0],
80
author_email = authors['Fernando'][1],
82
download_url = download_url,
84
platforms = platforms,
86
console = ['ipykit.py'],
88
# extra params needed for eggs
94
ip = IPython.ipapi.get()
100
if not os.path.isdir("dist/_ipython"):
101
print "Creating simple _ipython dir"
102
os.mkdir("dist/_ipython")
103
open("dist/_ipython/ipythonrc.ini","w").write("# intentionally blank\n")
104
open("dist/_ipython/ipy_user_conf.py","w").write(minimal_conf)
105
if os.path.isdir('bin'):
106
dir_util.copy_tree('bin','dist/bin')