Python embeddable zip: install Tkinter

Question:

Python embeddable zip comes without pip and Tkinter.
It is easy to install pip with get-pip.py in the embeddable zip.

How can we install Tkinter too (assuming we do not have an existing Python installation in the same machine)?

Asked By: antonio

||

Answers:

Assuming you are on Windows and you also have a regular Python distribution installed (same version of the embedded distribution), to install Tkinter in the embedded distribution you can copy the following files from the regular Python distribution:

  • tcl folder to embedded_distribution_folder (root folder of the embedded distribution)
  • tkinter folder (which is under Lib) either to embedded_distribution_folderLib or to embedded_distribution_folder
  • files _tkinter.pyd tcl86t.dll tk86t.dll (which are under DLLs) either to embedded_distribution_folderDLLs or to embedded_distribution_folder
Answered By: lucatrv

Use the windows python set up installer
From python.org. Then custom install tkinter only in a custom directory. If you are planning to make a deployable application. Make sure the set environment variables checkbox variable is disabled

Answered By: Daniel-Kenan

Adding to @lucatrv answer and @TeaHoney comment, it is possible to add the folders to the path from the code. Here is a general code that should work for the following tree structure for the python directory

  • DLLs
  • tcl
  • python.exe
import sys
from pathlib import Path
pytohn_path = Path(sys.exec_prefix)
dlls_path = Path(pytohn_path, "DLLs")
tcl_path = Path(pytohn_path, "tcl")
sys.path.insert(0, str(dlls_path))
sys.path.insert(0, str(tcl_path))
Answered By: MosGeo
Categories: questions Tags: , , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.