pyinstaller封装exe的操作

作者:qq_24499417 时间:2021-02-12 03:21:16 

我使用的是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 要封装的文件完整路径。

如下图所示:

pyinstaller封装exe的操作

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

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

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

pyinstaller封装exe的操作

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

pyinstaller封装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都行

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

pyinstaller封装exe的操作

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

pyinstaller封装exe的操作

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

pyinstaller封装exe的操作

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

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

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

来源:https://blog.csdn.net/qq_24499417/article/details/82866195

标签:pyinstaller,封装,exe
0
投稿

猜你喜欢

  • Python通过OpenCV的findContours获取轮廓并切割实例

    2022-12-11 22:33:05
  • 使用python脚本自动生成K8S-YAML的方法示例

    2023-09-19 06:12:17
  • 用VBS语言实现的网页计算器源代码

    2007-12-26 17:09:00
  • CSS图片代码效果汇总

    2008-09-04 12:14:00
  • 安装MySQL错误归档处理

    2008-12-22 14:50:00
  • Django中session登录验证操作指南

    2023-12-12 03:34:43
  • Oracle9i取得建表和索引的DDL语句

    2010-07-20 12:59:00
  • 浅谈购物类网站如何保持视觉设计的一致性

    2009-03-30 16:02:00
  • 如何在页面中对不同的数据进行相同的处理?

    2010-06-26 12:30:00
  • python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例

    2021-08-06 03:48:32
  • Python快速生成定制化的Word(docx)文档

    2022-04-27 12:33:06
  • 使用 XML 模板 (MSSQL手册)

    2008-09-04 14:25:00
  • 提高Python生产力的五个Jupyter notebook插件

    2021-06-01 12:52:33
  • 用asp编写类似搜索引擎功能的代码

    2008-10-23 15:55:00
  • PHP同时连接多个mysql数据库示例代码

    2023-11-23 21:12:28
  • 解决golang编译提示dial tcp 172.217.160.113:443: connectex: A connection attempt failed(推荐)

    2023-07-16 04:24:49
  • Go语言中的Slice学习总结

    2023-07-22 23:33:37
  • Python全栈之队列详解

    2022-10-12 07:51:33
  • DW表格应用之细线框的制作

    2008-02-03 19:00:00
  • 对python添加模块路径的三种方法总结

    2023-11-26 04:01:35
  • asp之家 网络编程 m.aspxhome.com