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 要封装的文件完整路径。
如下图所示:
按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去安装或手动安装,这样打包的时候就不会有缺少模块的问题,也希望大家在以后的学习中碰到问题能及时解决问题,不要像我这样一个简单的问题搞了一天,也许大佬也遇到这个问题,可能感觉问题太简单了,只能我这种小白来给大家当搬运工了。
来源:https://blog.csdn.net/qq_24499417/article/details/82866195


猜你喜欢
- 很多介绍 根据日志等级打印不同颜色 的文章都是介绍的Ideolog , 但是我个人还是倾向于 Grep Console , 你可以在配置界面
- 什么是事件代理(Event Delegation)?如果不太了解的朋友,可详细阅读:《Event delegation in JavaScr
- #环境win64+anaconda+python3.6list & array(1)list不具有array的全部属性(如维度、转置
- 如下所示:from mpl_toolkits.mplot3d import axes3dimport matplotlib.pyplot a
- 一、安装1.从官网下载Linux版的Pycharm官网链接:https://www.jetbrains.com/pycharm/downlo
- 1. 概述在看代码的时候发现基本上都是用 querySelector() 和 querySelectorAll() 来获取元素,疑惑为什么不
- 今天看到了mlxtend的包,看了下example集成得非常简洁。还有一个吸引我的地方是自带了一些data直接可以用,省去了自己造数据或者找
- 一、基础理论1、TensorFlowtensor:张量(数据)flow:流动Tensor-Flow:数据流2、TensorFlow过程Ten
- 前言今天在升级下载Python第三方库的时候特别慢,最后去升级pip的时候竟然还time out了,哇心态炸了。 最后想了一下为什么会这么慢
- python读取Excel表格文件,例如获取这个文件的数据python读取Excel表格文件,需要如下步骤:1、安装Excel读取数据的库-
- 今天要给大家分享的是一款自己写的屏保程序,大学大家最头疼的就是四六级的考试了,上次考试做阅读的时候,情不自禁的发呆,想着如果我能在电脑上写一
- 很多朋友想用SQL2000数据库的编程方法,但是却又苦于自己是学ACCESS的,对SQL只是一点点的了解而已,这里我给大家提供以下参考---
- 一、场景浏览器访问淘宝,再访问天猫,继续访问1688......此时,浏览器中的cookie是什么状态?显然,包含上述3个网站的所有cook
- 此文刊登在《程序员》2009年5月期:SQL全名是结构化查询语言(Structured Query Language),一直是后台开发者用来
- 近几年来,nosql大行其道,json更是火的一塌糊涂,作为数据库的元老,mysql在5.7版本中添加了对json数据的支持。这片博客主要介
- 1.0 获取浏览器窗口坐标 python目录可找到Webdriver.py 文件定义了get_window_rect()函数,可获取窗口的坐
- 这几天开始学tensorflow,先来做一下学习记录 一.神经网络解决问题步骤: 1.提取问题中实体的特征向量作为神经网络的输入。也就是说要
- 不多说,我们直接上源码:# -*- coding:UTF-8 -*-'''实现文件打包、上传与校验Created o
- php输出文字乱码的解决办法:在php文件最开头写上:<?phpheader('Content-type: text/html
- REPLACE语法REPLACE(String,from_str,to_str)即:将String中所有出现的from_str替换为to_s