zoukankan      html  css  js  c++  java
  • python程序转为exe文件

    python开发者向普通windows用户分享程序,要给程序加图形化的界面(传送门:这可能是最好玩的python GUI入门实例! http://www.jianshu.com/p/8abcf73adba3),并要将软件打包为可执行文件(.exe结尾),那如何将.py转为.exe ?

     
    将.py转为.exe

    第一步:安装pyinstaller(临时调用了国内豆瓣镜像源,这样下载比较快)

    pip install pyinstaller -i https://pypi.douban.com/simple

    第二步:更改编码方式(window用户专用)

    由于windows默认编码是gbk,而我们的开发环境(unix环境)默认编码使用utf-8,为解决编码问题,我们需要对pyinstaller源码进行一些修改

     
    修改读取方式为:utf-8

    pyinstaller中winmainifest.py中的第1075行,修改为with open(filename,encoding="UTF-8") as f:

    winmainifest.py的位置:C:Program Files (x86)Python36-32Libsite-packagesPyInstallerutilswin32winmanifest.py,如果找不到,可以先尝试第三步,如果转换过程报错,会打印出这个文件在本机的位置.
    如果权限不够,无法保存修改,可以先将修改后的文件,保存到桌面(保持原来的文件名),用桌面的文件替换原目录中的文件即可!

    第三步:将.py转换为.exe

    > 这里以`Python GUI入门实例`为例(Python GUI入门实例传送门:http://www.jianshu.com/p/8abcf73adba3

    命令:pyinstaller --onefile 011根据ip查询地理位置.py

    命令为:

    D:workworkspacespythonTest>pyinstaller -p C:UsersAdministratorAppD
    alProgramsPythonPython35Libsite-packagesPyQt5Qtin -F -w DemoUI.py

    如果是使用的pip install pyqt5

    则命令为:

    E:Projectpythons>pyinstaller -F -w DemoUI.py

    在文件DemoUI.spec增加一行

    要想加载icon文件可以在console=False后面在添加一行:

    icon='E:PythonPyprojectPasswordPasswordUIicon.ico'
     
    创建打包为.exe文件

    第四步:运行测试

     
    编译后的目录

    生成的.exe文件在dist文件夹内

    将数据库文件GeoLiteCity.dat拷贝到dist文件夹中

     
    完整的程序

    运行可执行文件(.exe)

     
    以管理员身份运行
     
    成功运行效果


    作者:木子昭
    链接:https://www.jianshu.com/p/64cb9108a7c6
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    elasticsearch如何设计索引
    LinkedList 的实现原理
    聊聊elasticsearch7.8的模板和动态映射
    elasticsearch7.8权限控制和规划
    cloudera manager server迁移
    2020年终总结
    工作两年半的一次复盘
    聊聊数据结构和算法
    AutoMapper源码解析
    [源码解析] 并行分布式框架 Celery 之 worker 启动 (2)
  • 原文地址:https://www.cnblogs.com/lhuan/p/9950559.html
Copyright © 2011-2022 走看看