[Pythonmac-SIG] installer bugs

Russell E Owen owen at astro.washington.edu
Wed Jul 2 17:11:34 EDT 2003


What I did:
- Move the following out of /Library/Frameworks:
   Python.framework (which had 2.3b1)
   Tcl.framework
   Tk.framework
- Move the following out of /Applications:
   MacPython-2.3
   Util/Wish shell
- Deleted the following:
   /usr/local/bin/python
   /usr/local/bin/python2.3
   /usr/local/bin/pythonw
   /usr/local/bin/pythonw2.3

I left my unix/X installation of /usr/local/bin/python2.2 and all 
other /usr/local stuff (including a unix/X version of Tcl/Tk).

I then ran the installer.
- **** Minor Bug? *****  "Select a Destination" page of the installer 
says "Installing this software requires 0 bytes of disk space". This 
is after selecting a suitable disk (I only have one).
- The next page claims it'll be doing an upgrade. Interesting. I 
wonder how it knew. As a long shot, I wonder if this is related to 
the claim of 0 bytes (if it thought it was going to overwrite an 
existing installation...).

I then ran the IDE. It seems to work, but it's not seeing PYTHONPATH 
(which is defined in ~/.MacOSX/environment.plist so aqua applications 
do normally see it). Strange, but perhaps this was true for 2.3b1 as 
well...I'm not sure I ever tried.

**** Bug ***** I then ran the package manager, to try to install 
Tkinter. The IDE launched, but then I got an error message:

Cannot open http://www.python.org/packman/
version-0.3/darwin-6.3-Power_Macintosh.plist: HTTP
Error 404: Not Found

See MacPython Package Manager help page.

The install manager then was visible, but with no entries. So I 
looked at the help (the entry is actually called "Installing 
additional Python packages with the Package Manager", so I confess it 
took me a bit to find it).

Anyway, it suggested I might find an alternative package manager at 
"http://www.python.org/packman" so I naively tried entering exactly 
that into the Open URL... dialog box and got a traceback:

*** Misfeature; a warning message (e.g. "invalid URL") would be much 
more helpful than a traceback ***

File "Wapplication.py", line 45, in mainloop
       self.do1event(mask, wait)
File "FrameWork.py", line 194, in do1event
       self.dispatch(event)
File "FrameWork.py", line 227, in dispatch
       handler(event)
File "FrameWork.py", line 289, in do_mouseDown
       handler(partcode, wid, event)
File "Wapplication.py", line 203, in do_inMenuBar
       self.do_rawmenu(id, item, window, event)
File "FrameWork.py", line 314, in do_rawmenu
       self.do_menu(id, item, window, event)
File "FrameWork.py", line 321, in do_menu
       self.menubar.dispatch(id, item, window, event)
File "Wapplication.py", line 445, in dispatch
       self.menus[id].dispatch(id, item, window, event)
File "Wapplication.py", line 462, in dispatch
       W.CallbackCall(callback, 0, id, item, window, event)
File "Wbase.py", line 684, in CallbackCall
       return callback()
File "PackageManager.py", line 164, in domenu_openURL
       self.opendoc(url)
File "PackageManager.py", line 138, in opendoc
       PackageBrowser(url)
File "PackageManager.py", line 307, in __init__
       messages = self.setuppimp(url)
File "PackageManager.py", line 231, in setuppimp
       self.pimpdb.appendURL(url)
File "pimp.py", line 259, in appendURL
       dict = plistlib.Plist.fromFile(fp)
File "plistlib.py", line 211, in fromFile
       plist = p.parse(pathOrFile)
File "plistlib.py", line 302, in parse
       parser.ParseFile(file)

I then visited the site (as I should have done in the first place) 
and found two URLs:
- 
"http://www.python.org/packman/version-0.3/darwin-6.6-Power_Macintosh.plist". 
which works but only has Numeric and the experimental version:
"http://www.python.org/packman/version-0.3/exp-darwin-6.6-Power_Macintosh.plist" 
which is much more complete, though many of those packages are listed 
as 2.3b1, which means I may have shot myself in the foot for using 
them. Hmmm...

I then checked "Show Hidden" and saw Tcl/TkAqua shown. I clicked that 
and got a message saying it could not automatically be installed.

***** Comment ***** It'd be nice if the manual install message had a 
button to go to the home page or at least explicitly suggested doing 
that. As it stands, the message is so cryptic that I doubt most naive 
users would have any idea what to do.

Other package manager comments:
- Much of the descriptive text (third column) is truncated, and 
making the window wider doesn't help because all three columns grow. 
Suggested fixes:
   - Move it to a separate panel. This allows lots of room for the 
description, so you could answer some obvious naive questions such as 
"do I need both source and binary of something, and if not, which 
should I choose?" and the comment for _tkinter can say that it's all 
a user needs to use Tkinter.
    - Fix resizing (a good idea in any case) so the left column never 
grows. The second column probably doesn't need to either--certainly 
not much.
- Consider hiding source distributions by default. Naive users will 
only need the binary and I think it's confusing to have both visible.

Anyway, I restored my Aqua Tk (since it was 8.4.3 and there's no 
8.4.3 binary installer yet), then ran the package manager again 
(which did see it -- I checked Show Hidden and saw a yes in that row) 
and installed _tkinter 2.3b1 and it seems to work fine (though trying 
root=Tkinter.Tk() in the IDE sure gives it heartburn -- it ends up 
with two different sets of menus and you can only quit by using Force 
Quit!)

Finally...I decided to see if I could get my old unix python working 
with X Tkinter and it is still just fine.

In summary, I only had one serious problem and one serious question:
- Problem: The package manager cannot find its database.
- Question: how to set up a PYTHONPATH preference for the IDE? I 
looked through the online help for the IDE without any success.

Aside from that, things seem just great!

-- Russell



More information about the Pythonmac-SIG mailing list