[PythonCE] weird Tkinter

Progor dpwhittaker at gmail.com
Wed Feb 28 15:25:24 CET 2007


Hmmm, the only thing I'm not sure about is your (d) created a file which I
call "pathextender.pth" file where I added all of the directories where my
scripts are.  In addition to adding all of my script directories (they are
on storage cards), I then added the path to my python25\lib directory where
my Tkinter.py and Tkinter.pyc resides.

What is this pathextender.pth file, what format is it in, and how does
python know what to do with it?

Either way, I guess it's not that big of a deal.  Adding import _tkinter
doesn't seem to have any adverse effects, and it makes at least one machine
more stable :)

I'm almost finished making my Tkinter-based "almost native looking" App
class.  It's complete with no visible border or title bar, a menu at the
bottom that leaves room for the SIP button, and a main frame that
automatically resizes itself when the SIP appears.  I just have to do a
little bit more work to make it recognize hi-res devices and landscape
orientation, and resize it's main frame and menus as needed.  I may be
reinventing a wheel, but I didn't find anything on this list like that. 
I'll post my files when I'm done.

By the way, it's taking several seconds (5ish) to load my App (i.e. from the
time the python interpreter appears to the time the GUI is displayed)... is
that Tkinter taking so long, or should I look at some of my other imports
and/or code?


Bandung wrote:
> 
> I've been through all of those permutations and combinations myself.  What
> I settled on was this;
> 
> a) left the original python.zip file intact.  that is to say, didn'tt
> remove anything, didn't replace anything
> b) added the latest Tkinter.py that I could find for python25 and placed
> it in my Python2.5\lib directory.
> c) clicked on the Tkinter.py file in my Lib directory to get it to create
> a Tkinter.pyc  If yours is anything like mine, it will not be the same
> size as the one within python25.zip.  This is good.  Why?  I don't know.
> d) created a file which I call "pathextender.pth" file where I added all
> of the directories where my scripts are.  In addition to adding all of my
> script directories (they are on storage cards), I then added the path to
> my python25\lib directory where my Tkinter.py and Tkinter.pyc resides.
> e) soft reset.
> 
> Occasionally, I get that dll not found message.  Particularly if the unit
> goes into it's "hybernation" mode.  Soft reset always brings it back. 
> Well on rare occasions, I have had to do numerous soft resets.  (even
> removed the battery one time and then did the "1 stylus salute" thingy)
> 
> Assuming that your files are all in the correct place, soft reset should
> work.  My python is on the storage card.  Don't know if that makes a
> difference but someone else was struggling to get their install working
> within main memory and it worked so...
> 
> 
> 
> Progor wrote:
>> 
>> I wish it were that easy.  This process included 20-something soft
>> resets, none of which were able to solve this problem.  I am pretty new
>> to python, so if you can help me understand why:
>> 
>> import _tkinter
>> import Tkinter
>> 
>> works, but:
>> 
>> import Tkinter
>> 
>> alone doesn't work, then maybe we can find a solution to the whole
>> problem.
>> 
>> I assume import _tkinter is asking it to import the dll itself, and
>> somehow the Tkinter package isn't making it that far.
>> 
>> Ok.  I made it a bit further.  I found a Tkinter.py and Tkinter.pyc file
>> in one of the threads on this topic a bit back and added them to my Lib
>> directory.  That did nothing, but then I renamed Tkinter.pyc in
>> python25.zip/lib-tk to Tkinterold.pyc (Resco File Explorer ftw) so python
>> would be sure to use the one in Lib, and finally, it works.  Oddly
>> enough, clicking on the .py version gives a could not find TCL DLL
>> message (on the import _tkinter line), but clicking on the .pyc gives the
>> little demo window.  Even weirder, moving that .pyc file into the zip
>> under lib-tk takes me back to the original problem (not finding TK DLL). 
>> Yes, I soft reset between every file move operation and test.
>> 
>> Well, dangit, I must have gotten lucky on a soft reset here or there or
>> still had the DLL loaded into memory from something else or... who
>> knows...  I'm still getting the "could not find TK DLL" message, with
>> either version or location of Tkinter.pyc... most of the time.
>> 
>> 
>> Bandung wrote:
>>> 
>>> A soft reset is your friend.  Do it and your python install/tkinter will
>>> return to normal.  I don't know why at times "stuff" happens but it
>>> does.
>>> 
>>> 
>>> Progor wrote:
>>>> 
>>>> So, I think I might have my install kinda borked.  I finally got it
>>>> working, but I had to jump through some hoops to make it work.
>>>> 
>>>> First, I installed PythonCE with CABINSTL directly into /Python (I
>>>> switch SD cards all the time, wanted it in main memory (for speed too),
>>>> but with as few spaces as possible for command line stuff).
>>>> 
>>>> Then, I tried just doing an import Tkinter from the console, but it
>>>> gave me the notorious missing TK DLL message.
>>>> 
>>>> So, I found the dlls (celib, tk84, tcl84) and put them in /Windows, but
>>>> it still gave me the error.
>>>> 
>>>> So, I played around with it a bit.  I found out if I import _tkinter
>>>> first, then it doesn't give me the message... but that's an extra line
>>>> in all my programs and may be weird if I ever want to give out my
>>>> programs.
>>>> 
>>>> I kept looking around on this mailing list and finally figured out I
>>>> needed to install tcl as well, did that, but I still have to import
>>>> _tkinter before I can import Tkinter without getting the "Could not
>>>> find TK DLL" error.
>>>> 
>>>> It sounds like some people have gotten it to work on their systems
>>>> without the weird "import _tkinter" extra line.  Have I done something
>>>> wrong?  Or is Tkinter just that persnickity?
>>>> 
>>> 
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/weird-Tkinter-tf3297520.html#a9204694
Sent from the Python - pythonce mailing list archive at Nabble.com.



More information about the PythonCE mailing list