Re: What happened to _tkinter.so?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • akineko

    Re: What happened to _tkinter.so?

    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_tkinte r.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
Working...