一、问题描述
- 在win10系统+python3.9环境中,用pyinstaller打包应用程序;
- 在win7系统运行此程序,提示‘缺少api-ms-win-core-path-l1-1-0.dll’;
- (win7系统中)下载api-ms-win-core-path-l1-1-0.dll并放在system32文件夹下,再次运行应用程序,不再出现弹窗报错,但程序仍发生闪退。
二、解决方法(以下未特别指出的均为在win10系统中进行)
- 下载安装32位的Anaconda;
【附】若已安装了64位的,则可打开Anaconda Prompt,通过命令行set CONDA_FORCE_32BIT=1
将环境暂时切换为32位,并保持Anaconda Prompt为打开状态,关闭则恢复为64位;(conda info
可查看当前环境信息) - 在Anaconda Prompt中,通过
conda create -n python37 python=3.7
创建python3.7的环境; 通过
activate python37
切换到该环境下,安装所需模块,并再次打包;或可在pycharm中进行以下步骤:- 将conda现有环境中的python解释器添加到pycharm中并应用;
- 直接安装模块,或在pycharm终端中通过
conda activate python37
激活环境,再通过pip install
安装依赖模块和pyinstaller模块;
- 在此环境中打包的exe就可以在win7中运行了。
[注1]若依赖包中有opencv-python,需注意pyinstaller和cv2版本的兼容问题,本人所用opencv-python==4.5.3.56
[注2]推荐使用清华镜像安装依赖包(https://mirrors.tuna.tsinghua...)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。