#140 pymol svn should be made compatible with Pmw 2.0.0

v1.6.2.0
closed-wont-fix
Thomas Holder
None
5
2014-08-14
2013-09-24
Jack Howarth
No

Upstream Pmw has Pmw2 at the 2.0.0-rc1 release so pymol should be readied for this final Pmw2 2.0.0 release. Currently pymol svn at r4042 is incompatible and fails to start pymol against Pmw 2.0.0-rc1 with the error...

Traceback (most recent call last):
File "/sw/lib/python2.7/site-packages/pymol/init.py", line 447, in launch_gui
import(self.invocation.options.gui)
File "/sw/lib/python2.7/site-packages/pmg_tk/init.py", line 22, in <module>
from PMGApp import *
File "/sw/lib/python2.7/site-packages/pmg_tk/PMGApp.py", line 33, in <module>
class PMGApp(Pmw.MegaWidget):
File "/sw/lib/python2.7/site-packages/Pmw/Pmw_2_0_0/lib/PmwLoader.py", line 131, in getattr
self._initialise()
File "/sw/lib/python2.7/site-packages/Pmw/Pmw_2_0_0/lib/PmwLoader.py", line 89, in _initialise
raise ImportError(msg)
ImportError: No module named tkinter

Appending...

import sys, Tkinter
sys.modules['tkinter'] = Tkinter

to /sw/lib/python2.7/site-packages/pmg_tk/PMGApp.py as described in http://stackoverflow.com/questions/14587980/importerror-no-module-named-tkinter-when-using-pmw changes this error to...

Traceback (most recent call last):
File "/sw/lib/python2.7/site-packages/pmg_tk/init.py", line 35, in run
PMGApp(pymol_instance,skin).run(poll)
File "/sw/lib/python2.7/site-packages/pmg_tk/PMGApp.py", line 328, in init
self.runSkin()
File "/sw/lib/python2.7/site-packages/pmg_tk/PMGApp.py", line 254, in runSkin
self.skin.setup()
File "/sw/lib/python2.7/site-packages/pmg_tk/skins/normal/init.py", line 3629, in setup
self.createInterface()
File "/sw/lib/python2.7/site-packages/pmg_tk/skins/normal/init.py", line 3602, in createInterface
self.balloon = Pmw.Balloon(self.root)
File "/sw/lib/python2.7/site-packages/Pmw/Pmw_2_0_0/lib/PmwBalloon.py", line 28, in init
Pmw.MegaToplevel.init(self, parent)
File "/sw/lib/python2.7/site-packages/Pmw/Pmw_2_0_0/lib/PmwBase.py", line 982, in init
super().init(parent, tkinter.Toplevel)
TypeError: super() takes at least 1 argument (0 given)

Appending the same to /sw/lib/python2.7/site-packages/pmg_tk/init.py doesn't eliminate this error...

TypeError: super() takes at least 1 argument (0 given)

Discussion

  • Thomas Holder
    Thomas Holder
    2013-10-02

    • status: open --> closed-wont-fix
    • assigned_to: Thomas Holder
     
  • Thomas Holder
    Thomas Holder
    2013-10-02

    Pmw 2.0.0 is apparently for Python 3 only, which is not compatible with Python 2.7 and thus not with PyMOL.