classification
Title: Make OS X entry in Applications like that in Windows
Type: Stage: resolved
Components: Build Versions: Python 3.2
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: ned.deily Nosy List: georg.brandl, ned.deily, rhettinger, ronaldoussoren
Priority: critical Keywords: needs review

Created on 2011-01-31 16:19 by rhettinger, last changed 2011-02-07 16:55 by ned.deily. This issue is now closed.

Files
File name Uploaded Description Edit
issue11079_doc_links.patch ned.deily, 2011-02-03 12:30
issue11079_extras_py3k.patch ned.deily, 2011-02-03 12:31
Messages (8)
msg127612 - (view) Author: Raymond Hettinger (rhettinger) * (Python committer) Date: 2011-01-31 16:19
In Applications, the 3.2 entry includes:
* Python Launcher
* IDLE
* Update Shell.Profile Command
* Extras directory

The latter should be dropped (most of the tools only make sense from the command-line) and should be replaced by a link to the docs:

file:///Library/Frameworks/Python.framework/Versions/3.2/Resources/English.lproj/Documentation/index.html

This setup better matches what we offer in Windows and it makes the docs more accessible.

The Windows setup also includes an uninstall option.  It would be nice if OS X did the same, but I don't know if that is the way of the Mac.
msg127694 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2011-02-01 12:40
I agree that adding a link to the installed documentation set would be an improvement.  Currently, the only easy way to find it is within IDLE:  Help -> Python Docs (or F1).  I'll propose an installer patch for that for 3.2.

-0.5 for removing the Extras directory.  Prior to Python 3.2, it contained the contents of the Demo directory.  For 3.2, the Demo directory was pruned and relocated to Tools, which had not previously been installed anywhere by OS X installers.  Also, there has been at least one request to make some of the contents of Tools available on OS X, i.e. unittestgui.  For those reasons, I added Tools under Extras for 3.2.  I agree that much of the contents is not particularly useful from, say, IDLE.  But the Python Launcher will run them under a command line and users can easily drag/drop any of onto a python command line in a terminal shell or just cd there and can also use the Finder's Get Info to change the application associated with them.  That said, the launching of Python scripts in OS X is currently is currently somewhat fragile and unintuitive (in the presence of multiple Python versions) and in need of some work post-3.2; see, for instance, Issue5262.  Due to OS X's multiple personalities and interaction styles (Classic Mac, command line UNIX, X-based apps, etc), it's also difficult to assess exactly how the python.org installed Pythons are being used on OS X. My guess, though, is that a majority of our users these days primarily or exclusively use Python from a command line so it would be good to not neglect their needs.

The issue of uninstalling has come up before, most recently (IIRC) in Issue7107.  Unfortunately, the Mac/README file updated there is not installed.  I would be +0.5 at looking into it further as time permits while recognizing that there would need to be caveats like potentially wiping out installed system-wide site-packages.
msg127698 - (view) Author: Ronald Oussoren (ronaldoussoren) * (Python committer) Date: 2011-02-01 13:31
I'm -0 on removing extras. Having extra's at this location makes it easier to discover them.

Adding a link to the documention is a good idea, it makes the documentation easier to use without starting IDLE.

Adding an uninstall option would be nice, but that requires significant work and is not something to be added before 3.2.   Adding an installer requires us to write a script that does the work because while OSX has an installer it doesn't have the corresponding uninstaller. Such a script should only be added after carefully testing it, there is a significant risk that bugs in the script could erase too much content.
msg127789 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2011-02-03 12:30
After discussions with Raymond, I now agree that it would be better to not copy the Tools into the Applications/Python 3.x directory since everything else there is of the double-clickable nature, i.e. aimed at the user more comfortable with a GUI interface.  Since the Tools files may be of interest to advanced command-line users, a better place for them is within the framework share directory as many other UNIX-like distributions install them in /usr/share.

The following two patches implement the following changes from 3.2rc2 OS X installer behavior.

issue11079_extras_py3k.patch:

1. modifies the Mac Makefile installextras target to put a copy of Tools/ in the framework at share/doc/pythonm.n/examples rather than in /Applications/Python m.n

2. updates the installer ReadMe file accordingly.

issue11079_doc_links.patch

3. places a link named "Python Documentation.html" in /Applications/Python m.n to the top-level index.html file of the installed documentation set.

4. places a link to the documentation directory in the framework at share/doc/pythonm.n/html

Summary of installed file differences:

/Applications/Python m.s/
  Extras/
    2.7/3.1: contained ReadMe and old Demo directories
    3.2rc2: contained Tools directory (note 1 below)
    3.2: no longer created
  Python Documentation.html
    2.7/3.1/3.2rc2: not created
    3.2: symlink to index page of standard documentation:
           /Library/Frameworks/Python.framework/Versions/3.2/\
             Resources/English.lproj/Documentation/index.html

/Library/Frameworks/Python.framework/Versions/m.n/
  share/doc/pythonm.n/examples
    2.7/3.1/3.2rc2: not created
    3.2: contains Tools directory
  share/doc/pythonm.n/html
    2.7/3.1/3.2rc1: not created
    3.2: relative symlink to standard documentation location:
           ../../../Resources/English.lproj/Documentation

The included changes affect only the Mac installer script and the Mac Makefile.  Both variants of the installer were built with these fixes and tested on 10.5 and 10.6 as appropriate.  If after review, the patches meet expectations, I ask for release manager approval to apply for 3.2final.


Note 1: If the user had installed one of the Python 3.2rc installers, the Extras directory and its contents will not be removed by the 3.2final installer.

Note 2: The additional documentation links should also be backported to 2.7.
msg128030 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2011-02-05 22:33
Ping!  Raymond, this needs review and release manager approval to make it into 3.2 final.
msg128042 - (view) Author: Raymond Hettinger (rhettinger) * (Python committer) Date: 2011-02-06 05:51
The patches looks like what I expected.  Thank you.

I don't know the installer process well enough to say that it is correct at a detailed level, but if you are getting it to run and the links work, then it's probably fine.
msg128111 - (view) Author: Georg Brandl (georg.brandl) * (Python committer) Date: 2011-02-07 12:37
Same here: can't test it, but if you test it successfully and the installer runs, this is good for 3.2.
msg128137 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2011-02-07 16:55
Committed in r88374 and r88375 to py3k for 3.2 and the documentation links part only in r88376 to 27 for release in 2.7.2.
History
Date User Action Args
2011-02-07 16:55:34ned.deilysetstatus: open -> closed
nosy: georg.brandl, rhettinger, ronaldoussoren, ned.deily
messages: + msg128137

resolution: fixed
stage: commit review -> resolved
2011-02-07 12:37:45georg.brandlsetnosy: georg.brandl, rhettinger, ronaldoussoren, ned.deily
messages: + msg128111
2011-02-06 05:51:03rhettingersetnosy: georg.brandl, rhettinger, ronaldoussoren, ned.deily
messages: + msg128042
2011-02-05 22:33:42ned.deilysetnosy: georg.brandl, rhettinger, ronaldoussoren, ned.deily
messages: + msg128030
2011-02-03 12:39:39ned.deilysetkeywords: - patch, easy, buildbot, after moratorium, gsoc
nosy: georg.brandl, rhettinger, ronaldoussoren, ned.deily
2011-02-03 12:31:27ned.deilysetfiles: + issue11079_extras_py3k.patch
nosy: georg.brandl, rhettinger, ronaldoussoren, ned.deily
2011-02-03 12:30:48ned.deilysetfiles: + issue11079_doc_links.patch
priority: normal -> critical


keywords: + patch, easy, needs review, buildbot, after moratorium, gsoc
nosy: + georg.brandl
messages: + msg127789
stage: commit review
2011-02-01 13:31:51ronaldoussorensetmessages: + msg127698
2011-02-01 12:40:23ned.deilysetmessages: + msg127694
2011-01-31 16:19:03rhettingercreate