pyinstaller打包的.exe在win7运行时提示’缺少api-ms-win-core-path-l1-1-0.dll'

一、问题描述

  1. 在win10系统+python3.9环境中,用pyinstaller打包应用程序;
  2. 在win7系统运行此程序,提示‘缺少api-ms-win-core-path-l1-1-0.dll’;
  3. (win7系统中)下载api-ms-win-core-path-l1-1-0.dll并放在system32文件夹下,再次运行应用程序,不再出现弹窗报错,但程序仍发生闪退。

二、解决方法(以下未特别指出的均为在win10系统中进行)

  1. 下载安装32位的Anaconda;
    【附】若已安装了64位的,则可打开Anaconda Prompt,通过命令行set CONDA_FORCE_32BIT=1 将环境暂时切换为32位;(conda info可查看当前环境信息)
  2. 在Anaconda Prompt中,通过conda create -n python37 python=3.7 创建python3.7的环境;
  3. 通过activate python37切换到该环境下,安装所需模块,并再次打包;可在pycharm中进行以下步骤:

    • 将conda现有环境中的python解释器添加到pycharm中并应用;
    • 直接安装模块,或在pycharm终端中通过conda activate python37激活环境,再通过pip install安装依赖模块和pyinstaller模块;
  4. 在此环境中打包的exe就可以在win7中运行了。

你可能感兴趣的:(python)