##// END OF EJS Templates
specify windows working directory...
specify windows working directory The create_shortcut built-in function used in the windows post-installation script allows the working directory to be specified. If it is not specified, the working directory will default to something like "C:\Windows". Specifying the working directory as "%HOMEDRIVE%%HOMEPATH%" seems a better default, it sets the working directory the the current user's home directory.

File last commit:

r3227:fd5c0928
r3227:fd5c0928
Show More
ipython_win_post_install.py
97 lines | 3.1 KiB | text/x-python | PythonLexer
/ scripts / ipython_win_post_install.py
Ville M. Vainio
crlf -> lf
r1032 #!python
"""Windows-specific part of the installation"""
import os, sys, shutil
Brian Granger
Tried to fix the windows post install script. It now creates...
r1611 pjoin = os.path.join
Ville M. Vainio
crlf -> lf
r1032
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."""
Brian Granger
Tried to fix the windows post install script. It now creates...
r1611
Brian Granger
Fixing a few bugs to get the win32 installer working again.
r2060 from IPython.core.release import version
Ville M. Vainio
crlf -> lf
r1032
Brian Granger
Tried to fix the windows post install script. It now creates...
r1611 # Get some system constants
prefix = sys.prefix
python = pjoin(prefix, 'python.exe')
# Lookup path to common startmenu ...
ip_start_menu = pjoin(get_special_folder_path('CSIDL_COMMON_PROGRAMS'), 'IPython')
Ville M. Vainio
crlf -> lf
r1032 # Create IPython entry ...
Brian Granger
Tried to fix the windows post install script. It now creates...
r1611 if not os.path.isdir(ip_start_menu):
os.mkdir(ip_start_menu)
directory_created(ip_start_menu)
# Create .py and .bat files to make things available from
Brian Granger
Added test in ipcluster.py to see if the platform is win32. If so,...
r1613 # the Windows command line. Thanks to the Twisted project
# for this logic!
Brian Granger
Completely fixed the ipython_win_post_install.py script. It now ...
r1612 programs = [
'ipython',
'iptest',
'ipcontroller',
'ipengine',
'ipcluster',
'irunner'
]
Brian Granger
Tried to fix the windows post install script. It now creates...
r1611 scripts = pjoin(prefix,'scripts')
Brian Granger
Completely fixed the ipython_win_post_install.py script. It now ...
r1612 for program in programs:
Brian Granger
Tried to fix the windows post install script. It now creates...
r1611 raw = pjoin(scripts, program)
bat = raw + '.bat'
py = raw + '.py'
# Create .py versions of the scripts
shutil.copy(raw, py)
# Create .bat files for each of the scripts
bat_file = file(bat,'w')
bat_file.write("@%s %s %%*" % (python, py))
bat_file.close()
Brian Granger
Completely fixed the ipython_win_post_install.py script. It now ...
r1612
Brian Granger
Tried to fix the windows post install script. It now creates...
r1611 # Now move onto setting the Start Menu up
Brian Granger
Completely fixed the ipython_win_post_install.py script. It now ...
r1612 ipybase = pjoin(scripts, 'ipython')
Darren Dale
specify windows working directory...
r3227 workdir = "%HOMEDRIVE%%HOMEPATH%"
Ville M. Vainio
crlf -> lf
r1032
Brian Granger
Completely fixed the ipython_win_post_install.py script. It now ...
r1612 link = pjoin(ip_start_menu, 'IPython.lnk')
cmd = '"%s"' % ipybase
Darren Dale
specify windows working directory...
r3227 mkshortcut(python, 'IPython', link, cmd, workdir)
Brian Granger
Completely fixed the ipython_win_post_install.py script. It now ...
r1612
link = pjoin(ip_start_menu, 'pysh.lnk')
cmd = '"%s" -p sh' % ipybase
Darren Dale
specify windows working directory...
r3227 mkshortcut(python, 'IPython (command prompt mode)', link, cmd, workdir)
Brian Granger
Completely fixed the ipython_win_post_install.py script. It now ...
r1612
link = pjoin(ip_start_menu, 'scipy.lnk')
Brian Granger
Removing various references to the threaded shells and -pylab....
r2072 cmd = '"%s" -p scipy' % ipybase
Darren Dale
specify windows working directory...
r3227 mkshortcut(python, 'IPython (scipy profile)', link, cmd, workdir)
Fernando Perez
Remove test suite from win32 start menu....
r2114
Brian Granger
Completely fixed the ipython_win_post_install.py script. It now ...
r1612 link = pjoin(ip_start_menu, 'ipcontroller.lnk')
cmd = '"%s" -xy' % pjoin(scripts, 'ipcontroller')
Darren Dale
specify windows working directory...
r3227 mkshortcut(python, 'IPython controller', link, cmd, workdir)
Brian Granger
Tried to fix the windows post install script. It now creates...
r1611
Brian Granger
Completely fixed the ipython_win_post_install.py script. It now ...
r1612 link = pjoin(ip_start_menu, 'ipengine.lnk')
cmd = '"%s"' % pjoin(scripts, 'ipengine')
Darren Dale
specify windows working directory...
r3227 mkshortcut(python, 'IPython engine', link, cmd, workdir)
Brian Granger
Tried to fix the windows post install script. It now creates...
r1611
Fernando Perez
Fix problem with windows installer script: html docs were not found.
r1589 # Create documentation shortcuts ...
vivainio2
win postinstall script manual location (start menu shortcut)
r1194 t = prefix + r'\share\doc\ipython\manual\ipython.pdf'
Brian Granger
Tried to fix the windows post install script. It now creates...
r1611 f = ip_start_menu + r'\Manual in PDF.lnk'
Ville M. Vainio
crlf -> lf
r1032 mkshortcut(t,r'IPython Manual - PDF-Format',f)
Brian Granger
Tried to fix the windows post install script. It now creates...
r1611
Fernando Perez
Fix problem with windows installer script: html docs were not found.
r1589 t = prefix + r'\share\doc\ipython\manual\html\index.html'
Brian Granger
Tried to fix the windows post install script. It now creates...
r1611 f = ip_start_menu + r'\Manual in HTML.lnk'
Ville M. Vainio
crlf -> lf
r1032 mkshortcut(t,'IPython Manual - HTML-Format',f)
Brian Granger
Tried to fix the windows post install script. It now creates...
r1611
Ville M. Vainio
crlf -> lf
r1032
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]