如何将Python嵌入式打包的依赖移至子目录并让Python识别?
完全可行,操作步骤如下
1. 调整目录结构
- 在
main\目录下新建dependencies\子目录 - 将所有依赖目录(如
PIL\、win32\、numpy\)以及.pyd文件(如_asyncio.pyd、_bz2.pyd)全部移动到main\dependencies\目录中 - 注意:保留根目录下的核心运行文件,比如
python.exe、pythonw.exe、python38._pth、python38.zip,以及Python运行必需的系统级.dll(如python38.dll),不要移动这些文件
2. 修改路径配置文件
打开main\python38._pth文件,在原有内容末尾添加dependencies路径,让嵌入式Python能从该目录加载模块。修改后的文件示例如下:
python38.zip . dependencies # Uncomment to run site.main() automatically # import site
说明:
python38._pth是嵌入式Python专属的路径配置文件,优先级高于系统环境变量,能确保当前Python环境完全独立于全局Python,无需依赖PYTHONPATH
3. 验证程序运行
直接执行main\pythonw.exe -m myprogram,测试程序是否能正常加载所有依赖模块。如果出现某.dll找不到的报错,说明该.dll是依赖模块的运行必需文件,将其移至dependencies\目录即可(若为Python核心依赖则留在根目录)
内容的提问来源于stack exchange,提问作者Basj
相关产品推荐
相关产品推荐

