##// END OF EJS Templates
exesetup.py: remove tk, wx to avoid bloat
vivainio -
Show More
@@ -1,92 +1,96 b''
1 #!/usr/bin/env python
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
2 # -*- coding: utf-8 -*-
3 """Setup script for exe distribution of IPython (does not require python).
3 """Setup script for exe distribution of IPython (does not require python).
4
4
5 - Requires py2exe
5 - Requires py2exe
6
6
7 - install pyreadline *package dir* in ipython root directory by running:
7 - install pyreadline *package dir* in ipython root directory by running:
8
8
9 svn co http://ipython.scipy.org/svn/ipython/pyreadline/trunk/pyreadline
9 svn co http://ipython.scipy.org/svn/ipython/pyreadline/trunk/pyreadline
10
10
11 - Create the distribution in 'dist' by running "python exesetup.py py2exe"
11 - Create the distribution in 'dist' by running "python exesetup.py py2exe"
12
12
13 - Run ipython.exe to go.
13 - Run ipython.exe to go.
14
14
15 """
15 """
16
16
17 #*****************************************************************************
17 #*****************************************************************************
18 # Copyright (C) 2001-2005 Fernando Perez <fperez@colorado.edu>
18 # Copyright (C) 2001-2005 Fernando Perez <fperez@colorado.edu>
19 #
19 #
20 # Distributed under the terms of the BSD License. The full license is in
20 # Distributed under the terms of the BSD License. The full license is in
21 # the file COPYING, distributed as part of this software.
21 # the file COPYING, distributed as part of this software.
22 #*****************************************************************************
22 #*****************************************************************************
23
23
24 # Stdlib imports
24 # Stdlib imports
25 import os
25 import os
26 import sys
26 import sys
27
27
28 from glob import glob
28 from glob import glob
29
29
30
30
31 # A few handy globals
31 # A few handy globals
32 isfile = os.path.isfile
32 isfile = os.path.isfile
33 pjoin = os.path.join
33 pjoin = os.path.join
34
34
35 from distutils.core import setup
35 from distutils.core import setup
36 import py2exe
36 import py2exe
37
37
38 # update the manuals when building a source dist
38 # update the manuals when building a source dist
39 # Release.py contains version, authors, license, url, keywords, etc.
39 # Release.py contains version, authors, license, url, keywords, etc.
40 execfile(pjoin('IPython','Release.py'))
40 execfile(pjoin('IPython','Release.py'))
41
41
42 # A little utility we'll need below, since glob() does NOT allow you to do
42 # A little utility we'll need below, since glob() does NOT allow you to do
43 # exclusion on multiple endings!
43 # exclusion on multiple endings!
44 def file_doesnt_endwith(test,endings):
44 def file_doesnt_endwith(test,endings):
45 """Return true if test is a file and its name does NOT end with any
45 """Return true if test is a file and its name does NOT end with any
46 of the strings listed in endings."""
46 of the strings listed in endings."""
47 if not isfile(test):
47 if not isfile(test):
48 return False
48 return False
49 for e in endings:
49 for e in endings:
50 if test.endswith(e):
50 if test.endswith(e):
51 return False
51 return False
52 return True
52 return True
53
53
54
54
55 if 'setuptools' in sys.modules:
55 if 'setuptools' in sys.modules:
56 # setuptools config for egg building
56 # setuptools config for egg building
57 egg_extra_kwds = {
57 egg_extra_kwds = {
58 'entry_points': {
58 'entry_points': {
59 'console_scripts': [
59 'console_scripts': [
60 'ipython = IPython.ipapi:launch_new_instance',
60 'ipython = IPython.ipapi:launch_new_instance',
61 'pycolor = IPython.PyColorize:main'
61 'pycolor = IPython.PyColorize:main'
62 ]}
62 ]}
63 }
63 }
64 scriptfiles = []
64 scriptfiles = []
65 # eggs will lack docs, examples XXX not anymore
65 # eggs will lack docs, examples XXX not anymore
66 #datafiles = [('lib', 'IPython/UserConfig', cfgfiles)]
66 #datafiles = [('lib', 'IPython/UserConfig', cfgfiles)]
67 else:
67 else:
68 egg_extra_kwds = {}
68 egg_extra_kwds = {}
69
69
70
71 # Call the setup() routine which does most of the work
70 # Call the setup() routine which does most of the work
72 setup(name = name,
71 setup(name = name,
73 options = {
72 options = {
74 'py2exe': {
73 'py2exe': {
75 'packages' : ['IPython', 'IPython.Extensions', 'IPython.external','pyreadline'],
74 'packages' : ['IPython', 'IPython.Extensions', 'IPython.external','pyreadline'],
75 'excludes' : ["Tkconstants","Tkinter","tcl",'IPython.igrid','wx','wxPython','igrid']
76
76 }
77 }
77 },
78 },
78 version = version,
79 version = version,
79 description = description,
80 description = description,
80 long_description = long_description,
81 long_description = long_description,
81 author = authors['Fernando'][0],
82 author = authors['Fernando'][0],
82 author_email = authors['Fernando'][1],
83 author_email = authors['Fernando'][1],
83 url = url,
84 url = url,
84 download_url = download_url,
85 download_url = download_url,
85 license = license,
86 license = license,
86 platforms = platforms,
87 platforms = platforms,
87 keywords = keywords,
88 keywords = keywords,
88 console = ['ipython.py'],
89 console = ['ipython.py'],
89
90
90 # extra params needed for eggs
91 # extra params needed for eggs
91 **egg_extra_kwds
92 **egg_extra_kwds
92 )
93 )
94
95
96
General Comments 0
You need to be logged in to leave comments. Login now