这个嵌入式Python包如何找到它的lib文件?

问题描述 投票:0回答:1

Blender(*) for Windows 附带嵌入式 Python,如下所示:

blender-2.79b-windows64\
    2.79\
        python\
            bin\
                python.exe
                python35.dll    # only these 2 files
            lib\
                asyncio\
                collections\
                ... 
                + many .py and .pyd files
即使没有系统全局安装 Pyton,启动

python.exe

 也能正常工作。此外,任何地方都没有 
.pth
._pth
 文件。

问题:python.exe

如何知道库位于
..\lib
中?

注意 (*):这

不是特定于 Blender(我仅使用 Blender 作为示例),这对于许多嵌入 Python 的软件来说很常见。

python blender python-embedding
1个回答
0
投票
“lib”目录是 Python 查找所有 stdlib 模块的默认目录。目录名称是内置默认值。这一切都被广泛记录在

https://docs.python.org/3/library/sys_path_init.html#sys-path-inithttps://docs.python.org/3/library/site.html#module-site

这个问题似乎假设,与常规的、不可嵌入的 Python 相比,嵌入式 Python 查找模块的方式有一些特殊之处。但没有。引用官方文档中有关 Windows 上嵌入式 Python 的内容:

与应用程序使用一样,包可以安装到任何位置,因为在初始化解释器之前有机会指定搜索路径。否则,使用嵌入式发行版和常规安装之间没有根本区别。

https://docs.python.org/3/using/windows.html#embedding-python

© www.soinside.com 2019 - 2024. All rights reserved.