Python 2.4 and Tkinter

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

    Python 2.4 and Tkinter

    Since upgrading to python 2.4 yesterday, I am no longer able to use
    Tkinter. From http://www.python.org/moin/TkInter I learned that I need
    to edit Modules/Setup to include Tkinter during the make. However, it
    isn't clear to me what modifications to make. I am supposed to specify
    directories in which needed files can be found. I found the Tcl/Tk
    libraries in /usr/local/lib/python2.4/lib-tk, but I can't find the
    Tcl/Tk headers. The default value for the headers (/usr/local/include)
    doesn't work. I searched my system for tcl.h but couldn't find it.
    Does anyone know how to make Tkinter work under Python 2.4?

    I also don't understand why I have to go to all this trouble. Tkinter
    is supposed to be included with Python, so shouldn't it be available
    without any special effort?
    --
    Jeffrey Barish

  • Jean Brouwers

    #2
    Re: Python 2.4 and Tkinter


    FWIW, we just installed Python 2.4 (on RH Linx 8), rebuilt it from
    scratch and everything is fine. Tkinter is there, _tkinter as well and
    idle comes up as expected.

    /Jean Brouwers



    In article <mailman.6996.1 101939598.5135. python-list@python.org >,
    Jeffrey Barish <jeffbarish@sta rband.net> wrote:
    [color=blue]
    > http://www.python.org/moin/TkInter[/color]

    Comment

    • Jeffrey Barish

      #3
      Re: Python 2.4 and Tkinter

      Jean Brouwers wrote:
      [color=blue]
      >
      > FWIW, we just installed Python 2.4 (on RH Linx 8), rebuilt it from
      > scratch and everything is fine. Tkinter is there, _tkinter as well
      > and idle comes up as expected.
      >
      > /Jean Brouwers
      >
      >
      >
      > In article <mailman.6996.1 101939598.5135. python-list@python.org >,
      > Jeffrey Barish <jeffbarish@sta rband.net> wrote:
      >[color=green]
      >> http://www.python.org/moin/TkInter[/color][/color]

      Here's what I get when I import Tkinter at a python prompt:

      jeffbarish@duo: ~$ python
      Python 2.4 (#1, Nov 30 2004, 08:58:13)
      [GCC 3.2.3 20030316 (Debian prerelease)] on linux2
      Type "help", "copyright" , "credits" or "license" for more information.[color=blue][color=green][color=darkred]
      >>> import Tkinter[/color][/color][/color]
      Traceback (most recent call last):
      File "<stdin>", line 1, in ?
      File "/usr/local/lib/python2.4/lib-tk/Tkinter.py", line 38, in ?
      import _tkinter # If this fails your Python may not be configured
      for Tk
      ImportError: No module named _tkinter

      I tried make clean and make. Same result. Ah, now I see that the
      output from make includes:

      INFO: Can't locate Tcl/Tk libs and/or headers

      Aren't the libs and headers included in Python-2.4.tgz?
      --
      Jeffrey Barish

      Comment

      • Jean Brouwers

        #4
        Re: Python 2.4 and Tkinter


        Here is how we understand this (which may be incomplete and/or
        incorrect).

        The _tkinter module is a shared library _tkinter.o and that is built
        from C source file _tkinter.c. That C file and a few other tk related
        C files are included in the Python distribution.

        But the Tcl/Tk libraries to build the _tkinter module are coming from
        /usr/local/lib in our case. And those happens to be tcl83 and tk83 in
        our case.

        If the Tcl/Tk libraries (and include files) are missing, you will have
        to get and install those. But they are not part of the Python
        distribution, as far as we know.

        /Jean Brouwers



        In article <mailman.6999.1 101954197.5135. python-list@python.org >,
        Jeffrey Barish <jeffbarish@sta rband.net> wrote:
        [color=blue]
        > Jean Brouwers wrote:
        >[color=green]
        > >
        > > FWIW, we just installed Python 2.4 (on RH Linx 8), rebuilt it from
        > > scratch and everything is fine. Tkinter is there, _tkinter as well
        > > and idle comes up as expected.
        > >
        > > /Jean Brouwers
        > >
        > >
        > >
        > > In article <mailman.6996.1 101939598.5135. python-list@python.org >,
        > > Jeffrey Barish <jeffbarish@sta rband.net> wrote:
        > >[color=darkred]
        > >> http://www.python.org/moin/TkInter[/color][/color]
        >
        > Here's what I get when I import Tkinter at a python prompt:
        >
        > jeffbarish@duo: ~$ python
        > Python 2.4 (#1, Nov 30 2004, 08:58:13)
        > [GCC 3.2.3 20030316 (Debian prerelease)] on linux2
        > Type "help", "copyright" , "credits" or "license" for more information.[color=green][color=darkred]
        > >>> import Tkinter[/color][/color]
        > Traceback (most recent call last):
        > File "<stdin>", line 1, in ?
        > File "/usr/local/lib/python2.4/lib-tk/Tkinter.py", line 38, in ?
        > import _tkinter # If this fails your Python may not be configured
        > for Tk
        > ImportError: No module named _tkinter
        >
        > I tried make clean and make. Same result. Ah, now I see that the
        > output from make includes:
        >
        > INFO: Can't locate Tcl/Tk libs and/or headers
        >
        > Aren't the libs and headers included in Python-2.4.tgz?[/color]

        Comment

        • Eric Brunel

          #5
          Re: Python 2.4 and Tkinter

          Jeffrey Barish wrote:
          [snip][color=blue]
          > Here's what I get when I import Tkinter at a python prompt:
          >
          > jeffbarish@duo: ~$ python
          > Python 2.4 (#1, Nov 30 2004, 08:58:13)
          > [GCC 3.2.3 20030316 (Debian prerelease)] on linux2
          > Type "help", "copyright" , "credits" or "license" for more information.
          >[color=green][color=darkred]
          >>>>import Tkinter[/color][/color]
          >
          > Traceback (most recent call last):
          > File "<stdin>", line 1, in ?
          > File "/usr/local/lib/python2.4/lib-tk/Tkinter.py", line 38, in ?
          > import _tkinter # If this fails your Python may not be configured
          > for Tk
          > ImportError: No module named _tkinter
          >
          > I tried make clean and make. Same result. Ah, now I see that the
          > output from make includes:
          >
          > INFO: Can't locate Tcl/Tk libs and/or headers
          >
          > Aren't the libs and headers included in Python-2.4.tgz?[/color]

          On Windows, the Python distribution does include Tkinter and tcl/tk. It's
          different on Unices (including Linux): since tcl/tk is very often installed by
          default, it is not included in the Python distribution.

          Have you looked for libraries / header files in /usr/lib and /usr/include? This
          is usually where they go when you install them with Linux. Since you mentionned
          you upgraded to Python 2.4, I assume you had a working installation of a
          previous Python version. So the tcl/tk libraries and header files must be there
          somewhere. Did you look at your Modules/Setup for the older Python? If Tkinter
          was working with this version, the setup for the _tkinter module should use the
          correct paths.

          HTH
          --
          - Eric Brunel <eric (underscore) brunel (at) despammed (dot) com> -
          PragmaDev : Real Time Software Development Tools - http://www.pragmadev.com

          Comment

          • Jeffrey Barish

            #6
            Re: Python 2.4 and Tkinter

            Jean Brouwers wrote:
            [color=blue]
            >
            > Here is how we understand this (which may be incomplete and/or
            > incorrect).
            >
            > The _tkinter module is a shared library _tkinter.o and that is built
            > from C source file _tkinter.c. That C file and a few other tk related
            > C files are included in the Python distribution.
            >
            > But the Tcl/Tk libraries to build the _tkinter module are coming from
            > /usr/local/lib in our case. And those happens to be tcl83 and tk83 in
            > our case.
            >
            > If the Tcl/Tk libraries (and include files) are missing, you will have
            > to get and install those. But they are not part of the Python
            > distribution, as far as we know.
            >
            > /Jean Brouwers
            >
            >
            >
            > In article <mailman.6999.1 101954197.5135. python-list@python.org >,
            > Jeffrey Barish <jeffbarish@sta rband.net> wrote:
            >[color=green]
            >> Jean Brouwers wrote:
            >>[color=darkred]
            >> >
            >> > FWIW, we just installed Python 2.4 (on RH Linx 8), rebuilt it from
            >> > scratch and everything is fine. Tkinter is there, _tkinter as well
            >> > and idle comes up as expected.
            >> >
            >> > /Jean Brouwers
            >> >
            >> >
            >> >
            >> > In article <mailman.6996.1 101939598.5135. python-list@python.org >,
            >> > Jeffrey Barish <jeffbarish@sta rband.net> wrote:
            >> >
            >> >> http://www.python.org/moin/TkInter[/color]
            >>
            >> Here's what I get when I import Tkinter at a python prompt:
            >>
            >> jeffbarish@duo: ~$ python
            >> Python 2.4 (#1, Nov 30 2004, 08:58:13)
            >> [GCC 3.2.3 20030316 (Debian prerelease)] on linux2
            >> Type "help", "copyright" , "credits" or "license" for more
            >> information.[color=darkred]
            >> >>> import Tkinter[/color]
            >> Traceback (most recent call last):
            >> File "<stdin>", line 1, in ?
            >> File "/usr/local/lib/python2.4/lib-tk/Tkinter.py", line 38, in ?
            >> import _tkinter # If this fails your Python may not be configured
            >> for Tk
            >> ImportError: No module named _tkinter
            >>
            >> I tried make clean and make. Same result. Ah, now I see that the
            >> output from make includes:
            >>
            >> INFO: Can't locate Tcl/Tk libs and/or headers
            >>
            >> Aren't the libs and headers included in Python-2.4.tgz?[/color][/color]

            OK, I downloaded tcl8.4.8 and tk8.4.8. They are now installed. Back to
            python2.4 make. It now bombs at:

            gcc -pthread -shared build/temp.linux-i686-2.4/_tkinter.o
            build/temp.linux-i686-2.4/tkappinit.o -L/usr/X11R6/lib64
            -L/usr/X11R6/lib -L/usr/local/lib -ltk8.4 -ltcl8.4 -lX11 -o
            build/lib.linux-i686-2.4/_tkinter.so
            *** WARNING: renaming "_tkinter" since importing it failed: libtk8.4.so:
            cannot open shared object file: No such file or directory
            running build_scripts

            Here's what I don't get:

            root@duo:/tmp/Python-2.4# ls -l /usr/local/lib/libtk8.4.so
            -rwxr-xr-x 1 root staff 893866 2004-12-02
            15:28 /usr/local/lib/libtk8.4.so

            The library is there but gcc claims that it isn't. Any suggestions?
            --
            Jeffrey Barish

            Comment

            • Jeffrey Barish

              #7
              Re: Python 2.4 and Tkinter

              Jean Brouwers wrote:
              [color=blue]
              >
              > Here is how we understand this (which may be incomplete and/or
              > incorrect).
              >
              > The _tkinter module is a shared library _tkinter.o and that is built
              > from C source file _tkinter.c. That C file and a few other tk related
              > C files are included in the Python distribution.
              >
              > But the Tcl/Tk libraries to build the _tkinter module are coming from
              > /usr/local/lib in our case. And those happens to be tcl83 and tk83 in
              > our case.
              >
              > If the Tcl/Tk libraries (and include files) are missing, you will have
              > to get and install those. But they are not part of the Python
              > distribution, as far as we know.
              >
              > /Jean Brouwers
              >
              >
              >
              > In article <mailman.6999.1 101954197.5135. python-list@python.org >,
              > Jeffrey Barish <jeffbarish@sta rband.net> wrote:
              >[color=green]
              >> Jean Brouwers wrote:
              >>[color=darkred]
              >> >
              >> > FWIW, we just installed Python 2.4 (on RH Linx 8), rebuilt it from
              >> > scratch and everything is fine. Tkinter is there, _tkinter as well
              >> > and idle comes up as expected.
              >> >
              >> > /Jean Brouwers
              >> >
              >> >
              >> >
              >> > In article <mailman.6996.1 101939598.5135. python-list@python.org >,
              >> > Jeffrey Barish <jeffbarish@sta rband.net> wrote:
              >> >
              >> >> http://www.python.org/moin/TkInter[/color]
              >>
              >> Here's what I get when I import Tkinter at a python prompt:
              >>
              >> jeffbarish@duo: ~$ python
              >> Python 2.4 (#1, Nov 30 2004, 08:58:13)
              >> [GCC 3.2.3 20030316 (Debian prerelease)] on linux2
              >> Type "help", "copyright" , "credits" or "license" for more
              >> information.[color=darkred]
              >> >>> import Tkinter[/color]
              >> Traceback (most recent call last):
              >> File "<stdin>", line 1, in ?
              >> File "/usr/local/lib/python2.4/lib-tk/Tkinter.py", line 38, in ?
              >> import _tkinter # If this fails your Python may not be configured
              >> for Tk
              >> ImportError: No module named _tkinter
              >>
              >> I tried make clean and make. Same result. Ah, now I see that the
              >> output from make includes:
              >>
              >> INFO: Can't locate Tcl/Tk libs and/or headers
              >>
              >> Aren't the libs and headers included in Python-2.4.tgz?[/color][/color]

              OK, I downloaded tcl8.4.8 and tk8.4.8. They are now installed. Back to
              python2.4 make. It now bombs at:

              gcc -pthread -shared build/temp.linux-i686-2.4/_tkinter.o
              build/temp.linux-i686-2.4/tkappinit.o -L/usr/X11R6/lib64
              -L/usr/X11R6/lib -L/usr/local/lib -ltk8.4 -ltcl8.4 -lX11 -o
              build/lib.linux-i686-2.4/_tkinter.so
              *** WARNING: renaming "_tkinter" since importing it failed: libtk8.4.so:
              cannot open shared object file: No such file or directory
              running build_scripts

              Here's what I don't get:

              root@duo:/tmp/Python-2.4# ls -l /usr/local/lib/libtk8.4.so
              -rwxr-xr-x 1 root staff 893866 2004-12-02
              15:28 /usr/local/lib/libtk8.4.so

              The library is there but gcc claims that it isn't. Any suggestions?
              --
              Jeffrey Barish

              Comment

              • Jean Brouwers

                #8
                Re: Python 2.4 and Tkinter


                It is hard to tell what is wrong, exactly. Two suggestions:

                If this is a 32-bit build, why is there a "-L/usr/X11R6/lib64" and
                *before* the regular "-L/usr/X11R6/lib"? Try to rerun just that line
                "gcc -pthread .... _tkinter.so" but without the "-L/usr/X11R6/lib64"
                option.

                If that still fails, try a fresh reconfigure and rebuild from scratch,
                now that the Tcl/Tk libs are there. Start with "./configure ...." per
                the instructions in the README file, run "make clean" etc..

                /Jean Brouwers



                In article <mailman.7043.1 102028470.5135. python-list@python.org >,
                Jeffrey Barish <jeffbarish@sta rband.net> wrote:
                [color=blue]
                > Jean Brouwers wrote:
                >[color=green]
                > >
                > > Here is how we understand this (which may be incomplete and/or
                > > incorrect).
                > >
                > > The _tkinter module is a shared library _tkinter.o and that is built
                > > from C source file _tkinter.c. That C file and a few other tk related
                > > C files are included in the Python distribution.
                > >
                > > But the Tcl/Tk libraries to build the _tkinter module are coming from
                > > /usr/local/lib in our case. And those happens to be tcl83 and tk83 in
                > > our case.
                > >
                > > If the Tcl/Tk libraries (and include files) are missing, you will have
                > > to get and install those. But they are not part of the Python
                > > distribution, as far as we know.
                > >
                > > /Jean Brouwers
                > >
                > >
                > >
                > > In article <mailman.6999.1 101954197.5135. python-list@python.org >,
                > > Jeffrey Barish <jeffbarish@sta rband.net> wrote:
                > >[color=darkred]
                > >> Jean Brouwers wrote:
                > >>
                > >> >
                > >> > FWIW, we just installed Python 2.4 (on RH Linx 8), rebuilt it from
                > >> > scratch and everything is fine. Tkinter is there, _tkinter as well
                > >> > and idle comes up as expected.
                > >> >
                > >> > /Jean Brouwers
                > >> >
                > >> >
                > >> >
                > >> > In article <mailman.6996.1 101939598.5135. python-list@python.org >,
                > >> > Jeffrey Barish <jeffbarish@sta rband.net> wrote:
                > >> >
                > >> >> http://www.python.org/moin/TkInter
                > >>
                > >> Here's what I get when I import Tkinter at a python prompt:
                > >>
                > >> jeffbarish@duo: ~$ python
                > >> Python 2.4 (#1, Nov 30 2004, 08:58:13)
                > >> [GCC 3.2.3 20030316 (Debian prerelease)] on linux2
                > >> Type "help", "copyright" , "credits" or "license" for more
                > >> information.
                > >> >>> import Tkinter
                > >> Traceback (most recent call last):
                > >> File "<stdin>", line 1, in ?
                > >> File "/usr/local/lib/python2.4/lib-tk/Tkinter.py", line 38, in ?
                > >> import _tkinter # If this fails your Python may not be configured
                > >> for Tk
                > >> ImportError: No module named _tkinter
                > >>
                > >> I tried make clean and make. Same result. Ah, now I see that the
                > >> output from make includes:
                > >>
                > >> INFO: Can't locate Tcl/Tk libs and/or headers
                > >>
                > >> Aren't the libs and headers included in Python-2.4.tgz?[/color][/color]
                >
                > OK, I downloaded tcl8.4.8 and tk8.4.8. They are now installed. Back to
                > python2.4 make. It now bombs at:
                >
                > gcc -pthread -shared build/temp.linux-i686-2.4/_tkinter.o
                > build/temp.linux-i686-2.4/tkappinit.o -L/usr/X11R6/lib64
                > -L/usr/X11R6/lib -L/usr/local/lib -ltk8.4 -ltcl8.4 -lX11 -o
                > build/lib.linux-i686-2.4/_tkinter.so
                > *** WARNING: renaming "_tkinter" since importing it failed: libtk8.4.so:
                > cannot open shared object file: No such file or directory
                > running build_scripts
                >
                > Here's what I don't get:
                >
                > root@duo:/tmp/Python-2.4# ls -l /usr/local/lib/libtk8.4.so
                > -rwxr-xr-x 1 root staff 893866 2004-12-02
                > 15:28 /usr/local/lib/libtk8.4.so
                >
                > The library is there but gcc claims that it isn't. Any suggestions?[/color]

                Comment

                • Jean Brouwers

                  #9
                  Re: Python 2.4 and Tkinter


                  It is hard to tell what is wrong, exactly. Two suggestions:

                  If this is a 32-bit build, why is there a "-L/usr/X11R6/lib64" and
                  *before* the regular "-L/usr/X11R6/lib"? Try to rerun just that line
                  "gcc -pthread .... _tkinter.so" but without the "-L/usr/X11R6/lib64"
                  option.

                  If that still fails, try a fresh reconfigure and rebuild from scratch,
                  now that the Tcl/Tk libs are there. Start with "./configure ...." per
                  the instructions in the README file, run "make clean" etc..

                  /Jean Brouwers



                  In article <mailman.7043.1 102028470.5135. python-list@python.org >,
                  Jeffrey Barish <jeffbarish@sta rband.net> wrote:
                  [color=blue]
                  > Jean Brouwers wrote:
                  >[color=green]
                  > >
                  > > Here is how we understand this (which may be incomplete and/or
                  > > incorrect).
                  > >
                  > > The _tkinter module is a shared library _tkinter.o and that is built
                  > > from C source file _tkinter.c. That C file and a few other tk related
                  > > C files are included in the Python distribution.
                  > >
                  > > But the Tcl/Tk libraries to build the _tkinter module are coming from
                  > > /usr/local/lib in our case. And those happens to be tcl83 and tk83 in
                  > > our case.
                  > >
                  > > If the Tcl/Tk libraries (and include files) are missing, you will have
                  > > to get and install those. But they are not part of the Python
                  > > distribution, as far as we know.
                  > >
                  > > /Jean Brouwers
                  > >
                  > >
                  > >
                  > > In article <mailman.6999.1 101954197.5135. python-list@python.org >,
                  > > Jeffrey Barish <jeffbarish@sta rband.net> wrote:
                  > >[color=darkred]
                  > >> Jean Brouwers wrote:
                  > >>
                  > >> >
                  > >> > FWIW, we just installed Python 2.4 (on RH Linx 8), rebuilt it from
                  > >> > scratch and everything is fine. Tkinter is there, _tkinter as well
                  > >> > and idle comes up as expected.
                  > >> >
                  > >> > /Jean Brouwers
                  > >> >
                  > >> >
                  > >> >
                  > >> > In article <mailman.6996.1 101939598.5135. python-list@python.org >,
                  > >> > Jeffrey Barish <jeffbarish@sta rband.net> wrote:
                  > >> >
                  > >> >> http://www.python.org/moin/TkInter
                  > >>
                  > >> Here's what I get when I import Tkinter at a python prompt:
                  > >>
                  > >> jeffbarish@duo: ~$ python
                  > >> Python 2.4 (#1, Nov 30 2004, 08:58:13)
                  > >> [GCC 3.2.3 20030316 (Debian prerelease)] on linux2
                  > >> Type "help", "copyright" , "credits" or "license" for more
                  > >> information.
                  > >> >>> import Tkinter
                  > >> Traceback (most recent call last):
                  > >> File "<stdin>", line 1, in ?
                  > >> File "/usr/local/lib/python2.4/lib-tk/Tkinter.py", line 38, in ?
                  > >> import _tkinter # If this fails your Python may not be configured
                  > >> for Tk
                  > >> ImportError: No module named _tkinter
                  > >>
                  > >> I tried make clean and make. Same result. Ah, now I see that the
                  > >> output from make includes:
                  > >>
                  > >> INFO: Can't locate Tcl/Tk libs and/or headers
                  > >>
                  > >> Aren't the libs and headers included in Python-2.4.tgz?[/color][/color]
                  >
                  > OK, I downloaded tcl8.4.8 and tk8.4.8. They are now installed. Back to
                  > python2.4 make. It now bombs at:
                  >
                  > gcc -pthread -shared build/temp.linux-i686-2.4/_tkinter.o
                  > build/temp.linux-i686-2.4/tkappinit.o -L/usr/X11R6/lib64
                  > -L/usr/X11R6/lib -L/usr/local/lib -ltk8.4 -ltcl8.4 -lX11 -o
                  > build/lib.linux-i686-2.4/_tkinter.so
                  > *** WARNING: renaming "_tkinter" since importing it failed: libtk8.4.so:
                  > cannot open shared object file: No such file or directory
                  > running build_scripts
                  >
                  > Here's what I don't get:
                  >
                  > root@duo:/tmp/Python-2.4# ls -l /usr/local/lib/libtk8.4.so
                  > -rwxr-xr-x 1 root staff 893866 2004-12-02
                  > 15:28 /usr/local/lib/libtk8.4.so
                  >
                  > The library is there but gcc claims that it isn't. Any suggestions?[/color]

                  Comment

                  • Jeffrey Barish

                    #10
                    Re: Python 2.4 and Tkinter

                    Jean Brouwers wrote:
                    [color=blue]
                    >
                    > It is hard to tell what is wrong, exactly. Two suggestions:
                    >
                    > If this is a 32-bit build, why is there a "-L/usr/X11R6/lib64" and
                    > *before* the regular "-L/usr/X11R6/lib"? Try to rerun just that line
                    > "gcc -pthread .... _tkinter.so" but without the "-L/usr/X11R6/lib64"
                    > option.
                    >
                    > If that still fails, try a fresh reconfigure and rebuild from scratch,
                    > now that the Tcl/Tk libs are there. Start with "./configure ...." per
                    > the instructions in the README file, run "make clean" etc..
                    >
                    > /Jean Brouwers
                    >
                    >
                    >
                    > In article <mailman.7043.1 102028470.5135. python-list@python.org >,
                    > Jeffrey Barish <jeffbarish@sta rband.net> wrote:
                    >[color=green]
                    >> Jean Brouwers wrote:
                    >>[color=darkred]
                    >> >
                    >> > Here is how we understand this (which may be incomplete and/or
                    >> > incorrect).
                    >> >
                    >> > The _tkinter module is a shared library _tkinter.o and that is
                    >> > built
                    >> > from C source file _tkinter.c. That C file and a few other tk
                    >> > related C files are included in the Python distribution.
                    >> >
                    >> > But the Tcl/Tk libraries to build the _tkinter module are coming
                    >> > from
                    >> > /usr/local/lib in our case. And those happens to be tcl83 and tk83
                    >> > in our case.
                    >> >
                    >> > If the Tcl/Tk libraries (and include files) are missing, you will
                    >> > have
                    >> > to get and install those. But they are not part of the Python
                    >> > distribution, as far as we know.
                    >> >
                    >> > /Jean Brouwers
                    >> >
                    >> >
                    >> >
                    >> > In article <mailman.6999.1 101954197.5135. python-list@python.org >,
                    >> > Jeffrey Barish <jeffbarish@sta rband.net> wrote:
                    >> >
                    >> >> Jean Brouwers wrote:
                    >> >>
                    >> >> >
                    >> >> > FWIW, we just installed Python 2.4 (on RH Linx 8), rebuilt it
                    >> >> > from
                    >> >> > scratch and everything is fine. Tkinter is there, _tkinter as
                    >> >> > well and idle comes up as expected.
                    >> >> >
                    >> >> > /Jean Brouwers
                    >> >> >
                    >> >> >
                    >> >> >
                    >> >> > In article
                    >> >> > <mailman.6996.1 101939598.5135. python-list@python.org >, Jeffrey
                    >> >> > Barish <jeffbarish@sta rband.net> wrote:
                    >> >> >
                    >> >> >> http://www.python.org/moin/TkInter
                    >> >>
                    >> >> Here's what I get when I import Tkinter at a python prompt:
                    >> >>
                    >> >> jeffbarish@duo: ~$ python
                    >> >> Python 2.4 (#1, Nov 30 2004, 08:58:13)
                    >> >> [GCC 3.2.3 20030316 (Debian prerelease)] on linux2
                    >> >> Type "help", "copyright" , "credits" or "license" for more
                    >> >> information.
                    >> >> >>> import Tkinter
                    >> >> Traceback (most recent call last):
                    >> >> File "<stdin>", line 1, in ?
                    >> >> File "/usr/local/lib/python2.4/lib-tk/Tkinter.py", line 38, in ?
                    >> >> import _tkinter # If this fails your Python may not be
                    >> >> configured
                    >> >> for Tk
                    >> >> ImportError: No module named _tkinter
                    >> >>
                    >> >> I tried make clean and make. Same result. Ah, now I see that the
                    >> >> output from make includes:
                    >> >>
                    >> >> INFO: Can't locate Tcl/Tk libs and/or headers
                    >> >>
                    >> >> Aren't the libs and headers included in Python-2.4.tgz?[/color]
                    >>
                    >> OK, I downloaded tcl8.4.8 and tk8.4.8. They are now installed. Back
                    >> to
                    >> python2.4 make. It now bombs at:
                    >>
                    >> gcc -pthread -shared build/temp.linux-i686-2.4/_tkinter.o
                    >> build/temp.linux-i686-2.4/tkappinit.o -L/usr/X11R6/lib64
                    >> -L/usr/X11R6/lib -L/usr/local/lib -ltk8.4 -ltcl8.4 -lX11 -o
                    >> build/lib.linux-i686-2.4/_tkinter.so
                    >> *** WARNING: renaming "_tkinter" since importing it failed:
                    >> libtk8.4.so: cannot open shared object file: No such file or
                    >> directory running build_scripts
                    >>
                    >> Here's what I don't get:
                    >>
                    >> root@duo:/tmp/Python-2.4# ls -l /usr/local/lib/libtk8.4.so
                    >> -rwxr-xr-x 1 root staff 893866 2004-12-02
                    >> 15:28 /usr/local/lib/libtk8.4.so
                    >>
                    >> The library is there but gcc claims that it isn't. Any suggestions?[/color][/color]

                    It turns out that the problem is in the step after the gcc. I have now
                    tracked it into setup.py. There is a call to imp.load_dynami c() that
                    fails. I haven't been able to figure out why yet, in large part
                    because I am not familiar with module imp (and imp.load_dynami c isn't
                    even documented).
                    --
                    Jeffrey Barish

                    Comment

                    • Jeffrey Barish

                      #11
                      Re: Python 2.4 and Tkinter

                      Jean Brouwers wrote:
                      [color=blue]
                      >
                      > It is hard to tell what is wrong, exactly. Two suggestions:
                      >
                      > If this is a 32-bit build, why is there a "-L/usr/X11R6/lib64" and
                      > *before* the regular "-L/usr/X11R6/lib"? Try to rerun just that line
                      > "gcc -pthread .... _tkinter.so" but without the "-L/usr/X11R6/lib64"
                      > option.
                      >
                      > If that still fails, try a fresh reconfigure and rebuild from scratch,
                      > now that the Tcl/Tk libs are there. Start with "./configure ...." per
                      > the instructions in the README file, run "make clean" etc..
                      >
                      > /Jean Brouwers
                      >
                      >
                      >
                      > In article <mailman.7043.1 102028470.5135. python-list@python.org >,
                      > Jeffrey Barish <jeffbarish@sta rband.net> wrote:
                      >[color=green]
                      >> Jean Brouwers wrote:
                      >>[color=darkred]
                      >> >
                      >> > Here is how we understand this (which may be incomplete and/or
                      >> > incorrect).
                      >> >
                      >> > The _tkinter module is a shared library _tkinter.o and that is
                      >> > built
                      >> > from C source file _tkinter.c. That C file and a few other tk
                      >> > related C files are included in the Python distribution.
                      >> >
                      >> > But the Tcl/Tk libraries to build the _tkinter module are coming
                      >> > from
                      >> > /usr/local/lib in our case. And those happens to be tcl83 and tk83
                      >> > in our case.
                      >> >
                      >> > If the Tcl/Tk libraries (and include files) are missing, you will
                      >> > have
                      >> > to get and install those. But they are not part of the Python
                      >> > distribution, as far as we know.
                      >> >
                      >> > /Jean Brouwers
                      >> >
                      >> >
                      >> >
                      >> > In article <mailman.6999.1 101954197.5135. python-list@python.org >,
                      >> > Jeffrey Barish <jeffbarish@sta rband.net> wrote:
                      >> >
                      >> >> Jean Brouwers wrote:
                      >> >>
                      >> >> >
                      >> >> > FWIW, we just installed Python 2.4 (on RH Linx 8), rebuilt it
                      >> >> > from
                      >> >> > scratch and everything is fine. Tkinter is there, _tkinter as
                      >> >> > well and idle comes up as expected.
                      >> >> >
                      >> >> > /Jean Brouwers
                      >> >> >
                      >> >> >
                      >> >> >
                      >> >> > In article
                      >> >> > <mailman.6996.1 101939598.5135. python-list@python.org >, Jeffrey
                      >> >> > Barish <jeffbarish@sta rband.net> wrote:
                      >> >> >
                      >> >> >> http://www.python.org/moin/TkInter
                      >> >>
                      >> >> Here's what I get when I import Tkinter at a python prompt:
                      >> >>
                      >> >> jeffbarish@duo: ~$ python
                      >> >> Python 2.4 (#1, Nov 30 2004, 08:58:13)
                      >> >> [GCC 3.2.3 20030316 (Debian prerelease)] on linux2
                      >> >> Type "help", "copyright" , "credits" or "license" for more
                      >> >> information.
                      >> >> >>> import Tkinter
                      >> >> Traceback (most recent call last):
                      >> >> File "<stdin>", line 1, in ?
                      >> >> File "/usr/local/lib/python2.4/lib-tk/Tkinter.py", line 38, in ?
                      >> >> import _tkinter # If this fails your Python may not be
                      >> >> configured
                      >> >> for Tk
                      >> >> ImportError: No module named _tkinter
                      >> >>
                      >> >> I tried make clean and make. Same result. Ah, now I see that the
                      >> >> output from make includes:
                      >> >>
                      >> >> INFO: Can't locate Tcl/Tk libs and/or headers
                      >> >>
                      >> >> Aren't the libs and headers included in Python-2.4.tgz?[/color]
                      >>
                      >> OK, I downloaded tcl8.4.8 and tk8.4.8. They are now installed. Back
                      >> to
                      >> python2.4 make. It now bombs at:
                      >>
                      >> gcc -pthread -shared build/temp.linux-i686-2.4/_tkinter.o
                      >> build/temp.linux-i686-2.4/tkappinit.o -L/usr/X11R6/lib64
                      >> -L/usr/X11R6/lib -L/usr/local/lib -ltk8.4 -ltcl8.4 -lX11 -o
                      >> build/lib.linux-i686-2.4/_tkinter.so
                      >> *** WARNING: renaming "_tkinter" since importing it failed:
                      >> libtk8.4.so: cannot open shared object file: No such file or
                      >> directory running build_scripts
                      >>
                      >> Here's what I don't get:
                      >>
                      >> root@duo:/tmp/Python-2.4# ls -l /usr/local/lib/libtk8.4.so
                      >> -rwxr-xr-x 1 root staff 893866 2004-12-02
                      >> 15:28 /usr/local/lib/libtk8.4.so
                      >>
                      >> The library is there but gcc claims that it isn't. Any suggestions?[/color][/color]

                      It turns out that the problem is in the step after the gcc. I have now
                      tracked it into setup.py. There is a call to imp.load_dynami c() that
                      fails. I haven't been able to figure out why yet, in large part
                      because I am not familiar with module imp (and imp.load_dynami c isn't
                      even documented).
                      --
                      Jeffrey Barish

                      Comment

                      • Eric Brunel

                        #12
                        Re: Python 2.4 and Tkinter

                        Jeffrey Barish wrote:
                        [snip][color=blue]
                        > OK, I downloaded tcl8.4.8 and tk8.4.8. They are now installed. Back to
                        > python2.4 make. It now bombs at:
                        >
                        > gcc -pthread -shared build/temp.linux-i686-2.4/_tkinter.o
                        > build/temp.linux-i686-2.4/tkappinit.o -L/usr/X11R6/lib64
                        > -L/usr/X11R6/lib -L/usr/local/lib -ltk8.4 -ltcl8.4 -lX11 -o
                        > build/lib.linux-i686-2.4/_tkinter.so
                        > *** WARNING: renaming "_tkinter" since importing it failed: libtk8.4.so:
                        > cannot open shared object file: No such file or directory
                        > running build_scripts
                        >
                        > Here's what I don't get:
                        >
                        > root@duo:/tmp/Python-2.4# ls -l /usr/local/lib/libtk8.4.so
                        > -rwxr-xr-x 1 root staff 893866 2004-12-02
                        > 15:28 /usr/local/lib/libtk8.4.so
                        >
                        > The library is there but gcc claims that it isn't. Any suggestions?[/color]

                        Is /usr/local/lib in your LD_LIBRARY_PATH environment variable? It needs to be
                        in the compiler options for the compilation phase, but then you have to put it
                        in $LD_LIBRARY_PAT H to be able to import the module.

                        HTH
                        --
                        - Eric Brunel <eric (underscore) brunel (at) despammed (dot) com> -
                        PragmaDev : Real Time Software Development Tools - http://www.pragmadev.com

                        Comment

                        • Eric Brunel

                          #13
                          Re: Python 2.4 and Tkinter

                          Jeffrey Barish wrote:
                          [snip][color=blue]
                          > OK, I downloaded tcl8.4.8 and tk8.4.8. They are now installed. Back to
                          > python2.4 make. It now bombs at:
                          >
                          > gcc -pthread -shared build/temp.linux-i686-2.4/_tkinter.o
                          > build/temp.linux-i686-2.4/tkappinit.o -L/usr/X11R6/lib64
                          > -L/usr/X11R6/lib -L/usr/local/lib -ltk8.4 -ltcl8.4 -lX11 -o
                          > build/lib.linux-i686-2.4/_tkinter.so
                          > *** WARNING: renaming "_tkinter" since importing it failed: libtk8.4.so:
                          > cannot open shared object file: No such file or directory
                          > running build_scripts
                          >
                          > Here's what I don't get:
                          >
                          > root@duo:/tmp/Python-2.4# ls -l /usr/local/lib/libtk8.4.so
                          > -rwxr-xr-x 1 root staff 893866 2004-12-02
                          > 15:28 /usr/local/lib/libtk8.4.so
                          >
                          > The library is there but gcc claims that it isn't. Any suggestions?[/color]

                          Is /usr/local/lib in your LD_LIBRARY_PATH environment variable? It needs to be
                          in the compiler options for the compilation phase, but then you have to put it
                          in $LD_LIBRARY_PAT H to be able to import the module.

                          HTH
                          --
                          - Eric Brunel <eric (underscore) brunel (at) despammed (dot) com> -
                          PragmaDev : Real Time Software Development Tools - http://www.pragmadev.com

                          Comment

                          • Jeffrey Barish

                            #14
                            Re: Python 2.4 and Tkinter

                            Eric Brunel wrote:
                            [color=blue]
                            > Jeffrey Barish wrote:
                            > [snip][color=green]
                            >> OK, I downloaded tcl8.4.8 and tk8.4.8. They are now installed. Back
                            >> to
                            >> python2.4 make. It now bombs at:
                            >>
                            >> gcc -pthread -shared build/temp.linux-i686-2.4/_tkinter.o
                            >> build/temp.linux-i686-2.4/tkappinit.o -L/usr/X11R6/lib64
                            >> -L/usr/X11R6/lib -L/usr/local/lib -ltk8.4 -ltcl8.4 -lX11 -o
                            >> build/lib.linux-i686-2.4/_tkinter.so
                            >> *** WARNING: renaming "_tkinter" since importing it failed:
                            >> libtk8.4.so: cannot open shared object file: No such file or
                            >> directory running build_scripts
                            >>
                            >> Here's what I don't get:
                            >>
                            >> root@duo:/tmp/Python-2.4# ls -l /usr/local/lib/libtk8.4.so
                            >> -rwxr-xr-x 1 root staff 893866 2004-12-02
                            >> 15:28 /usr/local/lib/libtk8.4.so
                            >>
                            >> The library is there but gcc claims that it isn't. Any suggestions?[/color]
                            >
                            > Is /usr/local/lib in your LD_LIBRARY_PATH environment variable? It
                            > needs to be in the compiler options for the compilation phase, but
                            > then you have to put it in $LD_LIBRARY_PAT H to be able to import the
                            > module.
                            >
                            > HTH[/color]

                            That was the problem. Thanks for the help.
                            --
                            Jeffrey Barish

                            Comment

                            • rha7dotcom
                              New Member
                              • Feb 2006
                              • 1

                              #15
                              Finally ...

                              I found this thread like 3 hrs ago..., I followed your advises and thank you all, but there was still one step left for me...

                              I had installed aMSN, and as a dependency it installed Tcl/Tk 8.5, but only the binaries, not the dev packages...

                              The python installer was confused, thinking that I had installed the 8.5 dev packages (given that I had the 8.5 binaries), and was looking in the right directories for the wrong files (tcl8.5/tk8.5).

                              The thing is that I had the 8.4 dev packages, and those were the ones I wanted it to install...

                              I made a little change to Python-2.4.2/setup.py:

                              Line 981: Removed '8.5' and '85' from the For statement so it now looks like this:
                              for version in ['8.4', '84', '8.3', '83', '8.2',
                              '82', '8.1', '81', '8.0', '80']:

                              It instantly worked, and compiled flawlessly...

                              Of course you could get the dev files for the latest binaries you have for tcl/tk (8.5 in my case).

                              I CAN BE WRONG, and maybe this is not the way to fix it, but I'm currently installing python to learn the language, please correct me if I'm wrong.

                              Any way it's really interesting, and speaks for the language, that I was able to follow and deduct the way it worked, at first sight, in a new language, although I've been a programmer for years, the Python code seems to be very intuitive... I think I'll have fun learning it.

                              Hope this helps any one that might encounter the same problem...

                              Grreetings! :D

                              Gabriel Medina
                              Rha7.Com DiseƱo y Desarrollo Web, Soporte XOOPS y ZenCart - Rha7.Com Web Site Design and Development, XOOPS & ZenCart Support
                              Last edited by rha7dotcom; Feb 27 '06, 10:36 AM.

                              Comment

                              Working...