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)?
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
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
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))
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)?
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 toembedded_distribution_folder
(root folder of the embedded distribution)tkinter
folder (which is underLib
) either toembedded_distribution_folderLib
or toembedded_distribution_folder
- files
_tkinter.pyd
tcl86t.dll
tk86t.dll
(which are underDLLs
) either toembedded_distribution_folderDLLs
or toembedded_distribution_folder
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
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))