背景
Pycharm使用的解释器是python3.11,python3.9.x之后不支持win7;有同事需要在win7上使用python制作的exe,而了“win7环境下运行python打包exe提示找不到api-ms-win-core-path-l1-1-0.dll”。
过程
查找了一些资料,发现直接将dll打包金exe也是一种方法,但也有人反映不成功。怀疑需要兼容win7 32bit的dll。
参考文献1中提到使用python3.9以下的版本;在不希望删除原本的python3.11的情况下,需要再为Pycharm提供一个解释器(选定python3.8.10 32bit版本)。要为Pycharm提供一个新的解释器,可以通过再安装python3.8.10于本地电脑实现(同一个电脑上存在两个python版本;查阅了一些资料,只要文件夹不同,是可以的;两个python版本在安装时都要设置环境变量)。
安装好新的python3.8.10后,在Pycharm中指定解释器,可以看到出现的python3.8.10是灰色的、带有红色叉号。不确定是不是没有重新启动电脑导致环境变量没有生效导致。重启启动电脑后,发现解释器可以正常选择python3.8.10了。
遇到的问题
1. 安装scipy报错
通过查看参考3和4,两种方法。第一种方法没来得及尝试;使用了第二种方法,OK。
#方法一
pip install vswhere
#方法二 scipy 1.9.1 应该支持32bit
pip install scipy==1.9.1
2 No module named “Crypto” 解决方案
见参考文献5。
参考文献
- win7环境下运行python打包exe提示找不到api-ms-win-core-path-l1-1-0.dll_python api-ms-win-core-path-l1-1-0.dll-CSDN博客
- (99+ 封私信 / 80 条消息) 一台电脑能否同时安装不同版本的Python? - 知乎
- python - Installation of sklearn / scipy fails in Pycharm IDE with could not find vswhere.exe - Stack Overflow
- 在Pycharm IDE中安装sklearn / scipy失败,因为找不到vswhere.exe _大数据知识库
- No module named “Crypto” 解决方案 - 星钥无痕 - 博客园