On Mon, Dec 19, 2011 at 4:28 AM, Walter Prins <wpr...@gmail.com> wrote:
> Lina,

Hi Walter,

I am sorry, before I posted I did not realize people would get much
attention to do all following as you did.

Thanks,

Well, yesterday I posted a bug report and later during my waiting,
based on it's also python related, so I was interested in digging
further, googled showed me "uninstall python 2.6 and re-install
autodocktools will solve this problem" (but later checked, it's not a
sound/logical way of solving this problem, might with my
luck/careless, during this process, something was fixed)

before uninstall python2.6,
the VF.py, well, when I tried to grep ViewerFrameworkGUI, it shows no
results, but used ViewerFramework,

after I removal of python2.6, during re-installation of autodocktools,
the relevant depedence package (), in the situation without 2.6,

I checked the VF.py, now it has the ViewerFrameworkGUI, not ViewerFramework.
and then I installed 2.6,

as you can see in my box, both
/usr/lib/python2.7/dist-packages/ViewerFramework/VF.py
/usr/lib/python2.6/dist-packages/ViewerFramework/VF.py

all symbolic links to
/usr/share/pyshared/ViewerFramework/VF.py

I still don't understand what's going on.

and it's pretty weird, before I cat VF.py | grep  ViewerFrameworkGUI,
it showed no result, but now it has.

and most weird is that I noticed the
-rw-r--r-- 1 root root  62177 Aug 18 06:38 VF.py

it's been month ago, seems nothing changed.

even yesterday I also remove and re-install the mgltools-viewerframework.
2011-12-18 13:15:06 remove mgltools-viewerframework
1.5.6~rc2+cvs.20110926-1 <none>
2011-12-18 13:56:00 install mgltools-viewerframework <none>
1.5.6~rc2+cvs.20110926-1

Thanks with best regards,



>
> On 18 December 2011 05:08, lina <lina.lastn...@gmail.com> wrote:
>> Hi,
>>
>> I met below issue:
>>
>> File "/usr/lib/python2.7/dist-packages/ViewerFramework/VF.py", line
>> 369, in __init__
>>    self.GUI = ViewerFrameworkGUI(self, title=title,
>> NameError: global name 'ViewerFrameworkGUI' is not defined
>>
>>
>> can someone tell me how to examine,
>>
>> I mean, how to examine, what would you do when you face the problem?
>
> You should be telling us what you're doing, what platform you're
> using, what packages you've installed and so on, and not be leaving us
> to guess these things.  It makes our job harder than it would
> otherwise be.  That said, I've spent only a few minutes to
> troubleshoot this and will outline what I did so you can see "what I
> did when faced with this problem":
>
> 1.) Some googling reveals to me that ViewerFramework/VF.py apparently
> forms part of a molecular visualization package called
> mgltools-viewerframework.
> 2.) OK so Installing this package yields the same files in the same
> location on my Ubuntu 11.10 box.
> 3.) Trying to see what was going on, I then when on to inspect the
> referenced source file at line 369, where it becomes apparent that the
> code is trying instantiate a class ViewerFrameworkGUI.
> 4.) The question then occurs: Where does this class come from?  How is
> it that it's not defined?  Consequently I started searching for this
> class, firstly in the same file, so see where it may be defined or
> where it might be imported from.
> 5.) Doing so I found the following code at line 221 in VF.py:
> try:
>    from ViewerFramework.VFGUI import ViewerFrameworkGUI
> except:
>    pass
>
> "Curious", I thought, how is it that this module can fail to import
> this class?  And why is it squashing the exception?  Generally I would
> consider this type of behaviour very undersireable.  Far better would
> be to stub or mock out the class with a fake that gives some useful
> behaviour if it's instantiated (e.g. even if just to give some
> sensible error message to the end user...) but perhaps this is a
> semi-standard way of stubbing out optional extensions to packages in
> Python.
>
> 6.) So next I decided to manually replicate the aboev import in the
> Python interpreter to see what would happen:
> walterp@s1:/usr/lib/python2.7/dist-packages/ViewerFramework$ python
> Python 2.7.2+ (default, Oct  4 2011, 20:06:09)
> [GCC 4.6.1] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
>>>> from ViewerFramework.VFGUI import ViewerFrameworkGUI
> Traceback (most recent call last):
>  File "<stdin>", line 1, in <module>
>  File "/usr/lib/python2.7/dist-packages/ViewerFramework/VFGUI.py",
> line 21, in <module>
>    import Tkinter, thread, string, Pmw, types
> ImportError: No module named Pmw
>>>>
>
> "Well then, what's this 'Pmw' that's missing?" I thought to myself.  A
> quick google later and I found it: http://pmw.sourceforge.net/
>
> 7.) OK, so that import will fail with an exception due to Pmw being
> missing (if it's not installed), but it'll go unnoticed due to the
> exception handler squashing it.  This however means that the
> ViewerFrameworkGUI class is not always defined, which will cause other
> stuff depending on it to fail mysteriously (as you've found.)  At this
> point, not knowing anything about the packages involved, I'd
> tentatively suggest that perhaps the Pmw package should be a
> dependency of the mgltools-viewerframework, and it not being might be
> an omission/bug in the package.  Then again maybe they deliberately
> don't want the mgltools-viewerframework package to be neccesarily
> dependant on the Pmw package but keep it optional.  Whatever the case
> is, the bottom line is that you need it in order to solve this
> issue...
>
> 8.) Knowing that oftentimes python modules are packaged on Debian
> based systems (like Ubuntu) as python-xxx I then tried:
> sudo apt-get install python-pmw
> ... and voila, the Pmw module should now be there.
>
> 9.) Thus I retried my experiment to manually import ViewerFrameworkGUI
> as before:
> walterp@s1:/usr/lib/python2.7/dist-packages/ViewerFramework$ python
> Python 2.7.2+ (default, Oct  4 2011, 20:06:09)
> [GCC 4.6.1] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
>>>> from ViewerFramework.VFGUI import ViewerFrameworkGUI
> Traceback (most recent call last):
>  File "<stdin>", line 1, in <module>
>  File "/usr/lib/python2.7/dist-packages/ViewerFramework/VFGUI.py",
> line 22, in <module>
>    from PIL import Image, ImageTk
> ImportError: cannot import name ImageTk
>
> "Hmmm, so now it's not finding the ImageTk class from the PIL library
> for some reason" I thought.  "Why might that be...?"  I checked and I
> did in fact have the PIL library already installed, so it wasn't that
> PIL wasn't there at all.  (This should've been expected since if PIL
> wasn't there at all, then presulably importing "Image" would've also
> failed...)
>
> A little bit of further googling and I find some evidence that ImageTk
> was (for whatever reason) seperated into its own package with the
> advent of Python 2.6 (See
> http://www.python-forum.org/pythonforum/viewtopic.php?f=4&p=65248 and
> https://bugzilla.redhat.com/show_bug.cgi?id=247171 ) and that I should
> install the python-imaging-tk package to get the Python module
> containing ImageTk.
>
> 10.) So I did:
> sudo apt-get install python-imaging-tk
>
> This then solved the ImageTk import issue, but left me with more
> issues.  (I seem to be missing other "mgltools" related packages.) I'm
> however not terribly interested in troubleshooting this further on my
> box as I've got no use for these things and since what I've posted
> should solve your immediate issue and gives you an insight how I
> tackled your issue and you may not even have these other issues I'm
> going to leave it at that for now.
>
> Walter
> _______________________________________________
> Tutor maillist  -  Tutor@python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to