[issue13789] _tkinter does not build on Windows 7

Terry J. Reedy report at bugs.python.org
Mon Jan 16 07:37:58 CET 2012


Terry J. Reedy <tjreedy at udel.edu> added the comment:

I have read readme.txt, more than once. It seems a bit out-of-date. Parts of it I have trouble understanding, or at least, being sure I have understood. It seems to disagree with the devguide about whether to build debug or release builds. I though of opening an issue for possible readme.txt revisions.

However, my goal at the moment is to be able to test patches to IDLE .py files in repository builds on Win7, with the least fuss necessary. I have several questions:

About _tkinter, readme.txt says:
"Wraps the Tk windowing system.  Unlike _sqlite3, there's no    corresponding tcltk.vcproj-type project that builds Tcl/Tk from    vcproj's within our pcbuild.sln, which means this module expects to find a pre-built Tcl/Tk in either ..\..\tcltk for 32-bit or   ..\..\tcltk64 for 64-bit (relative to this directory).  See below for instructions to build Tcl/Tk."

I interpret 'this module expects to find' to mean 'after _tkinter is 
built'. If building _tkinter requires tcltk first, it should says so. (And I did try to build it, see below.)

I interpret 'this directory' to mean, on my system, '.../dev/cpython/pcbuild'. I therefore interpret '../../tcltk' to mean '.../dev/tcltk'. Experiments in Command Prompt support this.

I interpret 'pre-built Tcl/Tk' to include the pre-built Tcl/Tk already installed on my system, just as it does on *nix. I tried copying the contents of /tcl and dlls/t*.pyd from installed 3.2.2 into dev/tcltk, but that does not work. Is there any way to use the existing tcl/tk build?

As for rebuilding, the readme says "run either external.bat or 
external-amd64.bat in the ..\Tools\buildbot directory from ..\, i.e.:

    C:\..\svn.python.org\projects\python\trunk\PCbuild>cd ..
    C:\..\svn.python.org\projects\python\trunk>Tools\buildbot\external.bat"

That exact file builds 8.5.2 instead of 8.5.9, so the above could be updated to refer to the current hg version: 'whatever/cpython> Tools...'.

external.bat runs external-common.bat. That brings all the external dependencies, which is more than I need or really want. Can I comment out the other dependencies if I want?

In any case, the file has near the top '''
@rem XXX: If you need to force the buildbots to start from a fresh environment, uncomment
@rem the following, check it in, then check it out, comment it out, then check it back in.
@rem if exist tcltk rd /s/q tcltk
@rem if exist tcltk64 rd /s/q tcltk64
'''
I do not really understand this. Does 'rd' mean 'remove directory? Can I just remove the tcltk directory I made and ignore this?

Each dependency has a line like
"   svn export http://svn.python.org/projects/external/tcl-8.5.9.0"
Can I use hg export or do I need to find and install (tortoise)svn?
Are the svn urls still correct or is there an hg equivalent?

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue13789>
_______________________________________


More information about the Python-bugs-list mailing list