pyinstaller封装exe的操作

 更新时间:2021年03月06日 11:38:01   作者:qq_24499417  
这篇文章主要介绍了pyinstaller封装exe的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

我使用的是anaconda。我推荐大家使用anaconda,对环境依赖关系处理的比较好。不用浪费太多时间在安装模块上。

首先安装pyinstaller.命令:

pip install pyinstaller

需要封装的代码为一个api消息框。代码如下,保存的是pyw文件,放在桌面上。

# -*- coding: utf-8 -*-
"""
Created on Sun Jul 1 21:58:06 2018
@author: FanXiaoLei
"""
import win32api
win32api.MessageBox(0,'打倒老残','友情提示')

打开windows cmd命令提示符,进入pyinstaller安装目录的Scripts文件夹下。

我用的是anaconda,路径为D:\ProgramData\Scripts。

封装命令:pyinstaller -F -w 要封装的文件完整路径。

如下图所示:

按enter键以后封装自动执行。

看下图,我们可以看到exe保存在了Scripts目录下的dist文件夹下。

最后一句completed successfully表明创建exe成功。

运行exe后直接会弹出消息框,但不会有黑色的控制台窗口显示。

怎么样?是不是很简单呢?我使用的是64位的anaconda。

封装的是64位的exe.如果你想创建通用的,需要使用32位anaconda,这样创建的32位的exe,可以正常运行于32/64位平台。

补充:pyinstaller打包exe文件出现命令窗口一闪而过

用pyinstaller打包的exe文件打开时,命令窗口一闪而过,并且未出现GUI界面,也看不到错误信息,然后去网上搜相关的信息,最多的两种说法:

1.添加raw_input()或者os.system(“pause”)等待信息 ,但是添加后依然是命令窗口一闪而过

2.在命令窗口打开exe,网上有两种打开exe的方法

start Path\Project.exe

start加exe文件的绝对路径,但是效果和双击exe文件一样,依然是一闪而过

cd path >>Project.exe

这是先跳转到exe所在的文件夹里,然后输入文件名带不带.exe都行

结果第二种报错了,于是一切就从这个美丽的错误开始了

但是里面提示了正确的运行方式,输入.\Project 带不带.exe都行,然后又运行了一次,终于看到了错误信息,顿时有种泪流满面的感觉啊

从错误信息也能看出为什么加入raw_input()或者os.system(“pause”)等待信息没有用,因为根本就没走主程序提示没有no module named requests 但是明明有,并且在pycharm中导入了啊,为什么会提示没有呢?

实在是想不明白,于是去网上查各种资料,终于查到了原因,原来是和编写的工具有关,pacharm 导入的模块并没有安装到电脑的python中模块中去,这就导致了,在pacharm中能正常运行,在命令窗口里运行python文件时却提示错误。

搞明白原因后赶紧去试验了一下,用pip安装了requests后再打包,果然可以了。

在这次查找问题,解决问题的过程中,我总结了一下,这和我一上来就使用pycharm有关,pycharm在编程时确实好用,自动化程度确实高,但是在基础还未学好的情况下我建议还是先使用IDLE吧,我之前就跳过了IDLE直接使用的pycharm,我现在也处在自学阶段,就换回了IDLE,如果python有模块没导入,它会直接提示你,你也只能pip去安装或手动安装,这样打包的时候就不会有缺少模块的问题,也希望大家在以后的学习中碰到问题能及时解决问题,不要像我这样一个简单的问题搞了一天,也许大佬也遇到这个问题,可能感觉问题太简单了,只能我这种小白来给大家当搬运工了。

相关文章

  • Python读取环境变量的方法和自定义类分享

    Python读取环境变量的方法和自定义类分享

    这篇文章主要介绍了Python读取环境变量的方法和自定义类分享,本文直接给出代码实例,需要的朋友可以参考下
    2014-11-11
  • python如何实现TF-IDF算法

    python如何实现TF-IDF算法

    这篇文章主要介绍了python如何实现TF-IDF算法问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • 基于Python实现MUI侧滑菜单a标签跳转

    基于Python实现MUI侧滑菜单a标签跳转

    这篇文章主要介绍了基于Python实现MUI侧滑菜单a标签跳转,mui最接近原生APP体验的高性能前端框架,MUI侧滑常见的场景有下拉刷新,侧滑抽屉,侧滑删除,侧滑返回以及侧滑菜单等等,下面来看看文章内容详细的介绍,需要的朋友可以参考一下
    2021-11-11
  • python实现排序算法

    python实现排序算法

    这篇文章主要介绍了python实现排序算法,处理小序列不错,需要的朋友可以参考下
    2014-02-02
  • 详解pytorch中squeeze()和unsqueeze()函数介绍

    详解pytorch中squeeze()和unsqueeze()函数介绍

    这篇文章主要介绍了详解pytorch中squeeze()和unsqueeze()函数介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 分析Python编程时利用wxPython来支持多线程的方法

    分析Python编程时利用wxPython来支持多线程的方法

    这篇文章主要介绍了Python编程时利用wxPython来支持多线程的方法,本文主要以开发GUI程序时做线程通讯作为一个示例来讲解,需要的朋友可以参考下
    2015-04-04
  • Python Bleach保障网络安全防止网站受到XSS(跨站脚本)攻击

    Python Bleach保障网络安全防止网站受到XSS(跨站脚本)攻击

    Bleach 不仅可以清理 HTML 文档,还能够对链接进行处理,检查是否是合法格式,并可以使用白名单来控制哪些 HTML 标签、属性是安全的,因此非常适合用于清洁用户输入的数据,确保网站安全
    2024-01-01
  • python编码总结(编码类型、格式、转码)

    python编码总结(编码类型、格式、转码)

    这篇文章主要介绍了python编码操作,包括编码类型、格式、转码等,并结合实例分析了相关操作技巧与注意事项,需要的朋友可以参考下
    2016-07-07
  • 进行数据处理的6个 Python 代码块分享

    进行数据处理的6个 Python 代码块分享

    这篇文章主要介绍了进行数据处理6个Python代码块的分享,分享内容有选取有空值的行、快速替换列值、对列进行分区、将一列分为多列等内容,需要的朋友可以参考一下
    2022-04-04
  • Python中常用的内置方法

    Python中常用的内置方法

    今天小编就为大家分享一篇关于Python中常用的内置方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01

最新评论