##// END OF EJS Templates
Merge in all development done in bzr since February 16 2008....
Merge in all development done in bzr since February 16 2008. At that time, a clean bzr branch was started from the SVN tree, but without SVN history. That SVN history has now been used as the basis of this branch, and the development done on the history-less BZR branch has been added and is the content of this merge. This branch will be the new official main line of development in Launchpad (equivalent to the old SVN trunk).

File last commit:

r1194:d486f7e0
r1218:6b454030 merge
Show More
ipython_win_post_install.py
85 lines | 2.6 KiB | text/x-python | PythonLexer
/ scripts / ipython_win_post_install.py
#!python
"""Windows-specific part of the installation"""
import os, sys, shutil
def mkshortcut(target,description,link_file,*args,**kw):
"""make a shortcut if it doesn't exist, and register its creation"""
create_shortcut(target, description, link_file,*args,**kw)
file_created(link_file)
def install():
"""Routine to be run by the win32 installer with the -install switch."""
from IPython.Release import version
# Get some system constants
prefix = sys.prefix
python = prefix + r'\python.exe'
# Lookup path to common startmenu ...
ip_dir = get_special_folder_path('CSIDL_COMMON_PROGRAMS') + r'\IPython'
# Some usability warnings at installation time. I don't want them at the
# top-level, so they don't appear if the user is uninstalling.
try:
import ctypes
except ImportError:
print ('To take full advantage of IPython, you need ctypes from:\n'
'http://sourceforge.net/projects/ctypes')
try:
import win32con
except ImportError:
print ('To take full advantage of IPython, you need pywin32 from:\n'
'http://starship.python.net/crew/mhammond/win32/Downloads.html')
try:
import readline
except ImportError:
print ('To take full advantage of IPython, you need readline from:\n'
'http://sourceforge.net/projects/uncpythontools')
ipybase = '"'+prefix+r'\scripts\ipython"'
# Create IPython entry ...
if not os.path.isdir(ip_dir):
os.mkdir(ip_dir)
directory_created(ip_dir)
# Create program shortcuts ...
f = ip_dir + r'\IPython.lnk'
a = ipybase
mkshortcut(python,'IPython',f,a)
f = ip_dir + r'\pysh.lnk'
a = ipybase+' -p sh'
mkshortcut(python,'IPython command prompt mode',f,a)
f = ip_dir + r'\scipy.lnk'
a = ipybase+' -pylab -p scipy'
mkshortcut(python,'IPython scipy profile',f,a)
# Create documentation shortcuts ...
t = prefix + r'\share\doc\ipython\manual\ipython.pdf'
f = ip_dir + r'\Manual in PDF.lnk'
mkshortcut(t,r'IPython Manual - PDF-Format',f)
t = prefix + r'\share\doc\ipython\manual\ipython.html'
f = ip_dir + r'\Manual in HTML.lnk'
mkshortcut(t,'IPython Manual - HTML-Format',f)
# make ipython.py
shutil.copy(prefix + r'\scripts\ipython', prefix + r'\scripts\ipython.py')
def remove():
"""Routine to be run by the win32 installer with the -remove switch."""
pass
# main()
if len(sys.argv) > 1:
if sys.argv[1] == '-install':
install()
elif sys.argv[1] == '-remove':
remove()
else:
print "Script was called with option %s" % sys.argv[1]