Bug2:python64位打包程序无法在win7 32位上运行( 二 )


2.2.2.1 不适用的解决方法2
? 我接着从源头上找解决问题的方法,我在的打包过程中发现,在打包时出现一下几种警告 。
WARNING: Hidden import "sip" not found!WARNING: lib not found: api-ms-win-core-winrt-string-l1-1-0.dllWARNING: lib not found: api-ms-win-core-winrt-l1-1-0.dll……还有很多警告WARNING: lib not found: api-ms-win-core-***-l1-1-0.dll
? 那就按这些警告一个一个解决 。
? 首先:“sip” not found!是指没有安装隐藏模块sip 。可我按照网上很多方法安装,都是安装失败,原因在于我电脑上安装了,但系统使用的编译器的时候编译sip模块时出错导致安装不上 。
【Bug2:python64位打包程序无法在win7 32位上运行】? 因此我就安装了一个 32位的虚拟机想来解决问题安装不了sip库的问题……结果居然解决了win7不能运行的问题了(详细解决方法见下解决方法 。后来我发现好像有没有安装sip模块好像都没有问题……
? 由于在解决sip问题中就解决了win7上不能执行exe问题,所以后续的那些缺少动态库的警告我就没有去管了 。网上也有相关处理缺少动态库的方法,虽然没有亲身试验,不过应该可以解决那些警告问题 。
2.2.3 解决方法:
先安装一个虚拟机VM 。然后再去下载win7的镜像文件 。这一步骤在网上有很多的参考方法 。下载安装.7 32位,这里需要和根据你要运行exe的环境看齐,比如你和我一样要在win7 32位下运行的exe 。那么就安装32位的 。在win7中安装程序所需要的各个库,顺便安装个库用于打包程序
? 经过测试,win7下打包的exe可以在win7上跑,也可以在win10上跑,之后,我打包文件都放在这个win7的虚拟机中打包 。
? 但是同事却能在win10上打包,而且可以在win7和win10上跑,相同的方法打包,它可以我却不行,具体解决方法见总体解决方案
注意:win7下只能下载安装.9以下(不包含.9)的版本 。因为.9已经不再支持win7了 。
总体解决方案
? 由于在上文中,我虽然解决了win7上运行公司代码的问题 。但是总的来说,这并不是从根本上解决问题 。我想要解决的是在win10上编译打包,并且满足所有系统可使用 。
? 安装位这里我是因为我的需要才安装了32位的,你可以根据你自己的选择 。这里不再有过多的叙述,相关安装教程在其他博主中有更详细的讲解 。

Bug2:python64位打包程序无法在win7 32位上运行

文章插图
在新创建一个环境,这里我安装的是.7
condacreate -n python37python=3.7
? 这句话的意思是创建一个.7的新环境,并且名命为 。你也可以根据你的需要做更改 。-n后面更新环境的名字,=后面跟的版本 。
如果你忘记环境的名字就在终端中使用
conda env list
来查询以前创建的环境 。
这里要注意一下,cmd终端和的终端是不一样的 。cmd是用于系统所有操作命令的终端,而的终端一般就是为了而设计的 。的终端在win10的开始中打开
的终端一打开会有(base)字样在开头如下:
切换环境
刚开始的时候,为base环境(默认环境) 。
执行activate 环境名如下即可切换环境(python37是我创建环境的名字):```activate python37```
然后再自己新建的环境中安装模块 。使用pip... 的方法来安装模块 。
如果嫌麻烦也可以将这个环境链接到中
这里我的是2021版本的,其他版本的类似
选择Conda环境选择现有的编译器找到安装路径下的一个文件叫envs在里面找到你新建的环境,然后再进去找到.exe文件 。那个Conda可执行文件是默认的不用管 。