Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #71041 > unrolled thread

idle glitch while building python 3.4 from sources

Started byMark H Harris <harrismh777@gmail.com>
First post2014-05-07 12:56 -0500
Last post2014-06-12 19:44 -0400
Articles 7 — 4 participants

Back to article view | Back to comp.lang.python


Contents

  idle glitch while building python 3.4 from sources Mark H Harris <harrismh777@gmail.com> - 2014-05-07 12:56 -0500
    Re: idle glitch while building python 3.4 from sources Ned Deily <nad@acm.org> - 2014-05-07 11:19 -0700
      Re: idle glitch while building python 3.4 from sources Mark H Harris <harrismh777@gmail.com> - 2014-05-07 14:42 -0500
        Re: idle glitch while building python 3.4 from sources Ned Deily <nad@acm.org> - 2014-05-07 19:49 -0700
      Re: idle glitch while building python 3.4 from sources Mark H Harris <harrismh777@gmail.com> - 2014-05-07 14:42 -0500
    Re: idle glitch while building python 3.4 from sources kfsone@gmail.com - 2014-06-12 13:35 -0700
      Re: idle glitch while building python 3.4 from sources Terry Reedy <tjreedy@udel.edu> - 2014-06-12 19:44 -0400

#71041 — idle glitch while building python 3.4 from sources

FromMark H Harris <harrismh777@gmail.com>
Date2014-05-07 12:56 -0500
Subjectidle glitch while building python 3.4 from sources
Message-ID<lkds4j$khg$1@speranza.aioe.org>
hi folks,  I got bit again trying to build python3.4 from sources (mea 
culpa, of course). The symptom is everything (except ensure pip) builds, 
installs, and runs fine with the small baby problem that IDLE will not 
run (-tkinter isn't even there) even though tcl/tk 8.5 is loaded and 
running.

This happens to me from time to time when I'm building on a new machine 
(this one is a T-61 ThinkPad running Mint Maya). The solution is simple, 
if I could remember it.

The dev packages for tcl/tk have to be installed or the python build 
will not self-configure for tkinter.  Make sure these are installed 
before ./configure; make; sudo make install :

    tcl8.5-dev
    tk8.5-dev

That is assuming that the dev packages (as well as tcl/tk) are installed 
to the standard places on my distro (they were).  We can point the build 
at another location in setup.py, or with ./configure options, or with 
make options (complicated).

Why am I posting?  Glad you asked. I am wondering if the build scripts 
could be updated slightly by prompting the user for IDLE preferences; 
and|or by being more robust about determining where tcl/tk lives, and|or 
by explicitly telling the user in the logs (or preferably right there 
on-screen) that the dev header packages for tcl/tk are not installed, 
and|or by refusing to build until the tcl/tk dev packages are installed, 
and|or refusing to build unless the user explicitly opts to bypass 
tkinter and build python anyway.

I know its my own fault (because I should just know this) but I got to 
wondering about others who 'might not know' about the tcl/tk dev 
packages and would be scratching their heads about why _tkinter is 
missing and IDLE won't run, although tcl/tk is installed correctly and 
running?

Just a suggestion...


marcus

[toc] | [next] | [standalone]


#71044

FromNed Deily <nad@acm.org>
Date2014-05-07 11:19 -0700
Message-ID<mailman.9746.1399486815.18130.python-list@python.org>
In reply to#71041
In article <lkds4j$khg$1@speranza.aioe.org>,
 Mark H Harris <harrismh777@gmail.com> wrote:
> I know its my own fault (because I should just know this) but I got to 
> wondering about others who 'might not know' about the tcl/tk dev 
> packages and would be scratching their heads about why _tkinter is 
> missing and IDLE won't run, although tcl/tk is installed correctly and 
> running?

If the Python build (the "make sharedmods" build step) can't 
successfully build the _tkinter extension module (because, for example, 
it couldn't find the Tk headers or libraries), the build step already 
reports that it could not build _tkinter.  It does the same for all of 
the other extension module builds, some of which also require 
third-party headers and libraries, like those from OpenSSL, zlib, bz2, 
etc.  Also, most people don't build Python from source - they install 
Python from a distributor - and the people who do generally know (or 
learn quickly) what dependencies are needed for their needs.

-- 
 Ned Deily,
 nad@acm.org

[toc] | [prev] | [next] | [standalone]


#71049

FromMark H Harris <harrismh777@gmail.com>
Date2014-05-07 14:42 -0500
Message-ID<536A8C95.6050103@gmail.com>
In reply to#71044
On 5/7/14 1:19 PM, Ned Deily wrote:
> If the Python build (the "make sharedmods" build step) can't
> successfully build the _tkinter extension module (because, for example,
> it couldn't find the Tk headers or libraries), the build step already
> reports that it could not build _tkinter.

hi Ned,   where is the report? Its not obvious; where does one look for 
this step output?  I did not see it on my build attempts last night. I'm 
assuming its in one of the logs. What would be nice is a final (at the 
end) report listing of the modules|extention modules that did not get 
built (for whatever reason).

As an aside, the ensure pip is disabled for some reason (I'm reading the 
pep, and such, which is confusing). There isn't much to go on from the 
build listing about ensure pip either.


marcus

[toc] | [prev] | [next] | [standalone]


#71072

FromNed Deily <nad@acm.org>
Date2014-05-07 19:49 -0700
Message-ID<mailman.9759.1399517403.18130.python-list@python.org>
In reply to#71049
In article <536A8C95.6050103@gmail.com>,
 Mark H Harris <harrismh777@gmail.com> wrote:

> On 5/7/14 1:19 PM, Ned Deily wrote:
> > If the Python build (the "make sharedmods" build step) can't
> > successfully build the _tkinter extension module (because, for example,
> > it couldn't find the Tk headers or libraries), the build step already
> > reports that it could not build _tkinter.
> 
> hi Ned,   where is the report? Its not obvious; where does one look for 
> this step output?  I did not see it on my build attempts last night. I'm 
> assuming its in one of the logs. What would be nice is a final (at the 
> end) report listing of the modules|extention modules that did not get 
> built (for whatever reason).

$ sudo aptitude remove tk-dev tcl-dev
$ make clean
$ make
gcc -pthread -c -fno-strict-aliasing -g -O2 -g -O0 -Wall 
-Wstrict-prototypes  -I. -IInclude -I./Include   -DPy_BUILD_CORE -o 
Modules/python.o ./Modules/python.c
[...]
./python -E -S -m sysconfig --generate-posix-vars
[20560 refs]
running build
running build_ext
building dbm using gdbm
INFO: Can't locate Tcl/Tk libs and/or headers
[...]

Python build finished, but the necessary bits to build these modules 
were not found:
_bsddb             _tkinter           bsddb185
sunaudiodev
To find the necessary bits, look in setup.py in detect_modules() for the 
module's name.

running build_scripts
$

> As an aside, the ensure pip is disabled for some reason (I'm reading the 
> pep, and such, which is confusing). There isn't much to go on from the 
> build listing about ensure pip either.

What do you mean by "disabled"?  Are you building from a source tarball 
or from some package from your distribution?  You'll need to do a "make 
install" for pip to be installed and it will be installed in your 
--prefix bin (default, /usr/local/bin) as pip3 and pip3.4.

-- 
 Ned Deily,
 nad@acm.org

[toc] | [prev] | [next] | [standalone]


#71050

FromMark H Harris <harrismh777@gmail.com>
Date2014-05-07 14:42 -0500
Message-ID<mailman.9748.1399491744.18130.python-list@python.org>
In reply to#71044
On 5/7/14 1:19 PM, Ned Deily wrote:
> If the Python build (the "make sharedmods" build step) can't
> successfully build the _tkinter extension module (because, for example,
> it couldn't find the Tk headers or libraries), the build step already
> reports that it could not build _tkinter.

hi Ned,   where is the report? Its not obvious; where does one look for 
this step output?  I did not see it on my build attempts last night. I'm 
assuming its in one of the logs. What would be nice is a final (at the 
end) report listing of the modules|extention modules that did not get 
built (for whatever reason).

As an aside, the ensure pip is disabled for some reason (I'm reading the 
pep, and such, which is confusing). There isn't much to go on from the 
build listing about ensure pip either.


marcus

[toc] | [prev] | [next] | [standalone]


#73239

Fromkfsone@gmail.com
Date2014-06-12 13:35 -0700
Message-ID<5fcdb944-a0a4-460c-9ed6-f4d19f9f7e53@googlegroups.com>
In reply to#71041
I just upgraded to Python 3.4.1 AMD64 for Windows 7 using the binaries, and this appears to have affected the Windows binary distribution.

    osmith@WOTSIT /c/Python34/Lib/idlelib
    $ python idle.py
    ** IDLE can't import Tkinter.  Your Python may not be configured for Tk. **

[toc] | [prev] | [next] | [standalone]


#73243

FromTerry Reedy <tjreedy@udel.edu>
Date2014-06-12 19:44 -0400
Message-ID<mailman.11047.1402616703.18130.python-list@python.org>
In reply to#73239
On 6/12/2014 4:35 PM, kfsone@gmail.com wrote:
> I just upgraded to Python 3.4.1 AMD64 for Windows 7 using the binaries,

Upgraded from what to what with what? Which binaries? Details matter.

> and this appears to have affected the Windows binary distribution.

>      osmith@WOTSIT /c/Python34/Lib/idlelib
>      $ python idle.py
>      ** IDLE can't import Tkinter.  Your Python may not be configured for Tk. **

Try idle.bat
---

Running idle with binaries you compile from the sources, using the VS 
project files in pcbuild, is a different story. If you are actually 
doing that, read the devguide and ask me for the missing detail.

-- 
Terry Jan Reedy

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web