##// END OF EJS Templates
Apply Ryan Krauss patch for fixing start menu shortcuts if there are spaces in ipython installation dir name
Apply Ryan Krauss patch for fixing start menu shortcuts if there are spaces in ipython installation dir name

File last commit:

r704:ee1f755f
r771:049a09a3
Show More
exesetup.py
91 lines | 2.9 KiB | text/x-python | PythonLexer
#!/usr/bin/env python
# -*- coding: utf-8 -*-
r"""Setup script for exe distribution of IPython (does not require python).
- Requires py2exe
- install pyreadline *package dir* in ipython root directory by running:
svn co http://ipython.scipy.org/svn/ipython/pyreadline/branches/maintenance_1.3/pyreadline/
wget http://ipython.scipy.org/svn/ipython/pyreadline/branches/maintenance_1.3/readline.py
OR (if you want the latest trunk):
svn co http://ipython.scipy.org/svn/ipython/pyreadline/trunk/pyreadline
- 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
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'],
'excludes' : ["Tkconstants","Tkinter","tcl",'IPython.igrid','wx','wxPython','igrid']
}
},
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
)
if not os.path.isdir("dist/_ipython"):
print "Creating simple _ipython dir"
os.mkdir("dist/_ipython")
open("dist/_ipython/ipythonrc.ini","w").write("# intentionally blank\n")
open("dist/_ipython/ipy_user_conf.py","w").write("import ipy_kitcfg\nimport ipy_profile_sh\n")