exesetup.py
92 lines
| 2.7 KiB
| text/x-python
|
PythonLexer
vivainio
|
r665 | #!/usr/bin/env python | ||
# -*- coding: utf-8 -*- | ||||
"""Setup script for exe distribution of IPython (does not require python). | ||||
- Requires py2exe | ||||
vivainio
|
r673 | - install pyreadline *package dir* in ipython root directory by running: | ||
vivainio
|
r665 | |||
vivainio
|
r673 | svn co http://ipython.scipy.org/svn/ipython/pyreadline/trunk/pyreadline | ||
vivainio
|
r665 | |||
- Create the distribution in 'dist' by running "python exesetup.py py2exe" | ||||
- Run ipython.exe to go. | ||||
""" | ||||
#***************************************************************************** | ||||
# Copyright (C) 2001-2005 Fernando Perez <fperez@colorado.edu> | ||||
# | ||||
# Distributed under the terms of the BSD License. The full license is in | ||||
# the file COPYING, distributed as part of this software. | ||||
#***************************************************************************** | ||||
# Stdlib imports | ||||
import os | ||||
import sys | ||||
from glob import glob | ||||
# A few handy globals | ||||
isfile = os.path.isfile | ||||
pjoin = os.path.join | ||||
from distutils.core import setup | ||||
import py2exe | ||||
# update the manuals when building a source dist | ||||
# Release.py contains version, authors, license, url, keywords, etc. | ||||
execfile(pjoin('IPython','Release.py')) | ||||
# A little utility we'll need below, since glob() does NOT allow you to do | ||||
# exclusion on multiple endings! | ||||
def file_doesnt_endwith(test,endings): | ||||
"""Return true if test is a file and its name does NOT end with any | ||||
of the strings listed in endings.""" | ||||
if not isfile(test): | ||||
return False | ||||
for e in endings: | ||||
if test.endswith(e): | ||||
return False | ||||
return True | ||||
if 'setuptools' in sys.modules: | ||||
# setuptools config for egg building | ||||
egg_extra_kwds = { | ||||
'entry_points': { | ||||
'console_scripts': [ | ||||
'ipython = IPython.ipapi:launch_new_instance', | ||||
'pycolor = IPython.PyColorize:main' | ||||
]} | ||||
} | ||||
scriptfiles = [] | ||||
# eggs will lack docs, examples XXX not anymore | ||||
#datafiles = [('lib', 'IPython/UserConfig', cfgfiles)] | ||||
else: | ||||
egg_extra_kwds = {} | ||||
# Call the setup() routine which does most of the work | ||||
setup(name = name, | ||||
options = { | ||||
'py2exe': { | ||||
'packages' : ['IPython', 'IPython.Extensions', 'IPython.external','pyreadline'], | ||||
} | ||||
}, | ||||
version = version, | ||||
description = description, | ||||
long_description = long_description, | ||||
author = authors['Fernando'][0], | ||||
author_email = authors['Fernando'][1], | ||||
url = url, | ||||
download_url = download_url, | ||||
license = license, | ||||
platforms = platforms, | ||||
keywords = keywords, | ||||
console = ['ipython.py'], | ||||
# extra params needed for eggs | ||||
**egg_extra_kwds | ||||
) | ||||