mirror of https://github.com/python/cpython
Closes #25456: Copy Tcl/Tk DLLs to build directory on Windows
This removes the need to add externals/tcltk[64]/bin to PATH to be able to import tkinter. Also documents the necessity for the DLLs to be on PATH or in python.exe's directory.
This commit is contained in:
parent
0e316f688e
commit
677744b386
|
@ -82,6 +82,9 @@ if '%build_tkinter%'=='true' (
|
|||
nmake -f makefile.vc MACHINE=%machine% OPTS=%options% INSTALLDIR="%tcltkdir%" install-binaries install-libraries
|
||||
popd
|
||||
)
|
||||
if not exist "%builddir%tcl86t%tcl_dbg_ext%.dll" (
|
||||
xcopy "%tcltkdir%\bin\tcl86t%tcl_dbg_ext%.dll" "%builddir%"
|
||||
)
|
||||
|
||||
if not exist "%tcltkdir%\bin\tk86t%tcl_dbg_ext%.dll" (
|
||||
pushd "%tkdir%\win"
|
||||
|
@ -90,6 +93,9 @@ if '%build_tkinter%'=='true' (
|
|||
nmake -f makefile.vc MACHINE=%machine% OPTS=%options% INSTALLDIR="%tcltkdir%" TCLDIR="%tcldir%" install-binaries install-libraries
|
||||
popd
|
||||
)
|
||||
if not exist "%builddir%tk86t%tcl_dbg_ext%.dll" (
|
||||
xcopy "%tcltkdir%\bin\tk86t%tcl_dbg_ext%.dll" "%builddir%"
|
||||
)
|
||||
|
||||
if not exist "%tcltkdir%\lib\tix8.4.3\tix84%tcl_dbg_ext%.dll" (
|
||||
pushd "%tixdir%\win"
|
||||
|
|
|
@ -225,9 +225,15 @@ _tkinter
|
|||
Unlike the other external libraries listed above, Tk must be built
|
||||
separately before the _tkinter module can be built. This means that
|
||||
a pre-built Tcl/Tk installation is expected in ..\externals\tcltk
|
||||
(tcltk64 for 64-bit) relative to this directory. See "Getting
|
||||
External Sources" below for the easiest method to ensure Tcl/Tk is
|
||||
built.
|
||||
(tcltk64 for 64-bit) relative to this directory; the easiest way to
|
||||
do so is to build Python using `build.bat -e`, which will build
|
||||
Tcl, Tk, and Tix and install them as expected. Note that to
|
||||
import and use tkinter, the Tcl and Tk DLLs must be somewhere that
|
||||
python.exe can find them, which means that either
|
||||
..\externals\tcltk[64]\bin must be added to PATH, or the DLLs must
|
||||
be copied from that folder to be alongside python.exe. `build.bat`
|
||||
takes care of it for you by copying the DLLs into the build
|
||||
directory.
|
||||
|
||||
|
||||
Getting External Sources
|
||||
|
|
Loading…
Reference in New Issue