By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
459,680 Members | 1,578 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 459,680 IT Pros & Developers. It's quick & easy.

Re: What happened to _tkinter.so?

P: n/a
Hello,

I spent time today to investigate this.
If you install Python with Tkinter from source, _tkinter is built into
the Python executable and _tkinter.so is not generated *unless*
"shared" option is specified.

I found this by running python with '-v' option:
% python -v
....
>>from Tkinter import *
....
import _tkinter # builtin <<<---

In the Module/Setup file:
# Uncommenting the following line tells makesetup that all following
# modules are to be built as shared libraries (see above for more
# detail; also note that *static* reverses this effect):

#*shared*

I tried to uncomment the line and I got successfully _tkinter.so under
python2.5/lib-dynload directory.

This may be an issue for PyInstaller as it relys on _tkinter.so to
find the path to TCL/TK.
However, many Linux distribution includes _tkinter.so as many people
complained about missing _tkinter.so.
So, this is not really an issue unless you install Python by yourself.

Aki-

On Jun 26, 6:00 pm, akineko <akin...@gmail.comwrote:
Hello Python developers,

I have noticed something curious while I was investigating a problem
with the PyInstaller.

In my environment, the PyInstaller couldn't find TCL/TK installation
path even I have it.
I found the PyInstaller uses output from ldd <dynamic link libaryto
find the a path to TCL/TK libraries.
But no dynamic libraries under my Python 5 lib-dynload directoty
contain a path to TCL/TK libraries.

When I posted this problem to the PyInstaller newsgroup, a guy
responded that he didn't have such problem.
After several exchanges, what we found was his lib-dynload directory
contains_tkinter.so (even he has the same Python2.5.2) while my lib-
dynload directory doesn't have it.

He installed the Python using package tool (no fresh compile) while I
installed my Python from src (clean compile).

I recompiled Python 2.4 and confirmed that Python 2.4 creates_tkinter.so.
After browsing the Makefile under Python 2.5, I had an impression that
Python 2.5 no longer uses_tkinter.so.

Am I correct?
If that is the case, I need to warn the PyInstaller developers that
the scheme to find TCL/TK path is no longer valid.

Any comments will be highly appreciated.

Thank you for your attention.
Aki Niimura
Jun 29 '08 #1
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.