zoukankan      html  css  js  c++  java
  • 如何使用pyinstaller打包32位的exe

    说明:原来安装的python为64位,故安装的pyinstaller和打包后的exe都为64位。而64位的exe文件在32位的win7操作系统下是无法执行的,显示不兼容。网上查询发现,简单(可能不方便)的方法是采用32位的python重新打包。这里,我使用的是conda构建32位python环境,然后再次打包。安装Anaconda的方法,感兴趣的可以查看。具体操作如下:

    更好的阅读体验可访问 这里

    构建32位python环境

    进入命令提示符窗口
    set CONDA_FORCE_32BIT=1  //切换到32位
    conda create --name python36 python=3.6  //创建一个python3.6的环境,命名为python36
    conda info --envs  //查看是否添加成功
    activate python36  //切换到python3.6环境
    python --version  //确认python环境
    

    安装pyinstaller

    注:这一步是必须的,如果不在该环境下安装,还是使用原来的pyinstaller,那么打包的程序仍然为64位

    pip -V  //再次确认是否为32位的pip
    pip install pyinstaller  //安装pyinstaller
    

    然后pyinstaller -F xxx.py就可以开开心心打包32位的exe程序了。不过如果您的.py文件用到了其它第三方库,那么还需要在此环境下再次安装,不然打包成32exe程序会无法运行。

    后记:怎样知道exe程序是否为32位?
    这个还是耽误了会儿时间的,网上查询发现是用记事本打开exe程序观察。然而我用notepad++打开打包的exe程序,发现是这样:

    找了半天也没找到,怎么看是否为32位。最后想到之前安装的DTDebug,只能打开32位的exe程序,64位的还打不开。然后先试的64位确定为打不开,后试的32位,打开了。

  • 相关阅读:
    windows上docker部署springboot多实例
    oracle 如何搜索当前用户下所有表里含某个值的字段?
    VS2010/OpenGL配置
    (译)Minimal Shader(最小的着色器)
    (译)Cg Programming/Unity(Cg编程/Unity)
    (转)在Unity3D中控制动画播放
    Unity3d中使用assetbundle
    C# 操作 sqlite
    Unity3d网格合并
    在Unity3d中解析Lua脚本的方法
  • 原文地址:https://www.cnblogs.com/sfriend/p/10923330.html
Copyright © 2011-2022 走看看