Python 可嵌入 zip 没有 pip 和 Tkinter。
在可嵌入的 zip 中使用 get-pip.py 安装 pip 很容易。
tcl
文件夹到
embedded_distribution_folder\
(嵌入式发行版的根文件夹)
tkinter
文件夹(位于
Lib
下)到
embedded_distribution_folder\Lib
或
embedded_distribution_folder\
_tkinter.pyd
tcl86t.dll
tk86t.dll
zlib1.dll
(对于 python >= 3.12,位于
DLLs
、
zlib1.dll
下)到
embedded_distribution_folder\DLLs
或到
embedded_distribution_folder\
import sys
from pathlib import Path
python_path = Path(sys.exec_prefix)
dlls_path = Path(python_path, "DLLs")
tcl_path = Path(python_path, "tcl")
sys.path.insert(0, str(dlls_path))
sys.path.insert(0, str(tcl_path))
在尝试嵌入分发并在添加 Tkinter 和其他包时遇到一些困难之后,我发现了两种可以考虑的替代方案:
PowerShell 实验,它可以解决 1 和 2 种情况。这个问题没有指定确切的目标,在我的例子中,目标之一是使 python 脚本可供无法安装 python 环境的新手用户使用,另一个目标是为虚拟机进行轻松的可移植部署。