将Python程序打包为exe_修炼之路的博客-程序员信息网

技术标签: Python修炼之路  

当Python项目编码完成之后,有时候我们需要让其在没有Python环境的电脑上运行,此时我们就需要将Python项目进行打包了,本篇文章主要是基于Python的第三方库pyinstaller进行的。使用pyinstaller打包Python项目,相对于C和C#项目的打包要简单很多。

pip install pyinstaller
  • 环境要求
    python版本2.7或3.4-3.7,当需要使用字节码加密时需要PyCrypto 2.4+
    系统要求WindowsLinuxmacOS都支持,具体使用说明请看官网介绍。本次实践主要在win10上进行。
  • 参数介绍
    官网参数详细介绍,在使用pyinstaller打包Python项目的时候,需要指定一些参数,详细介绍请参加官网。也可以通过pyinstaller -h命令查看pyinstaller的参数使用介绍
    在这里插入图片描述
  • 常用参数介绍
    -D,–onedir:创建一个文件夹包含exe文件(默认)
    -F,–onefile:打包之后只会生成一个exe的文件
    -c,–console,–nowindowed:使用控制台窗口(默认)
    -w,–windowed,–noconsole:使用窗口显示
    -i:设置打包exe的图标,默认使用的是Python的图标
  • 单个py文件打包
import cv2

img = cv2.imread("logo.jpg")
cv2.imshow("logo",img)
cv2.waitKey()

这个程序展示了使用OpenCV来读取图片然后显示,编辑完成之后进入到该目录下,运行pyinstaller -F exmple.py,看到如下信息表示打包成功
在这里插入图片描述
在项目目录下发现多了distbuild两个目录和一个*.spec的文件在这里插入图片描述
打开dist目录,可以发现下面多了一个example.exe的可执行文件,双击运行发现并没有显示图片,此时我们需要将logo.jpg拷贝到当前目录下,然后再运行exe程序就可以看到如下结果
在这里插入图片描述
如果不想显示控制台打包的时候可以加上-w参数,pyinstaller -F -w example.py,此时打包生成的exe程序执行时不会出现控制台窗口。

pyinstaller -F -w -i=panda.ico example.py

通过-i参数可以指定ico的图标,如果生成的exe的图标没有变化试着将ico图标文件拷贝到exe的相同目录下

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sinat_29957455/article/details/88080765

智能推荐

BIEE12创建分析和仪表盘 官方教程二_biee视图选择_每天努力一点点,哈哈的博客-程序员信息网

补之前的内容(求和)上面两个加起来的总计它的位置取绝于层次显示它是自动生成的,不是手工创建的。添加性能块添加简单的网格创建叙事视图(“Base Facts”.“3- Discount Amount”/“Base Facts”.“4- Paid Amount”)*100创建列选择器和视图选择器拖到“标题”上方Choose a column:视图选择器删除刚才创建的列选择器...

如何快速入手vscode(上)_vscode 支持xc格式么_xc_jim_sun的博客-程序员信息网

前言Visual Studio code是一个轻量级但功能强大的源代码编辑器,它运行在桌面上,可用于Windows、macOS和Linux。它内置了JavaScript、TypeScript和Node.js的内置支持,并有丰富的扩展语言用于其他语言(如C++、C语言、java、python、php、go、lua)和运行时(如.NET和Unity)。下载https://code.visualstudio.com/主界面介绍活动栏从上到下依次为:文件搜索、文件资源管理、Git、调试、插件管理侧边栏

2021安徽阜阳高考成绩排名查询,2021年阜阳高考状元是谁分数多少分,历年阜阳高考状元名单..._weixin_39753211的博客-程序员信息网

2020年阜阳一年一度的高考考试已经结束,今年阜阳高考状元是谁呢,阜阳高考状元出自哪个高中学校,文理科分数是多少分,一起来了解。一、2020年阜阳高考状元名单资料2020年阜阳高考状元名单和学校相关信息,截至目前发文时间,官方暂未公布,请关注收藏本文,我们稍后第一时间同步更新本文。二、2019年阜阳高考状元名单资料2019年阜阳文理科高考状元也出炉啦!↓↓↓阜阳高考状元理科全市第一名李骁总分: 6...

python kerberos hbase_HBase + Kerberos 配置示例(二)_weixin_39915204的博客-程序员信息网

环境准备安装hadoop/zookeeper/hbase我在kbhbase1这个机器上已经安装好了hadoop,zookeeper,hbase,为了简单起见所有在东西都跑在这台机器上。同时检查了在没在启用kerberos的情况下,hbase工作正常。禁用selinux#vim /etc/sysconfig/selinux 设置SELINUX=disabled,并重启安装JCE从Oracle网站下载...

android对话框不关闭,Android – dismissDialog不会关闭对话框_weixin_39625563的博客-程序员信息网

我正在使用showDialog()和dismissDialog()来显示我的应用程序中的进度对话框。从创建对话框并调用show(),从而使用此方法,以便在更改方向时保存状态。但是当我从纵向> landscape>肖像更改方向时,dismissDialog()不再会关闭该对话框。对话框一直在那里,我需要按下后退按钮才能消失。为什么会这样做的任何理由?编辑为了克服这个问题,我尝试在onDe...

微信小程序DPR的理解_小程序获取dpr_Strange_Ltike的博客-程序员信息网

DPR指的是设备的像数比,在制作的微信小程序的时候常用,也就相当于web前端的自适应,根据设备的像素(也就是物理像素)大小进行调节。物理像素:显示器上最小的物理显示单元(像素颗粒),在操作系统的调度下,每一个设备像素都有自己的颜色值和亮度值。例如:手机大小固定,物理像素越高,画面越清晰细腻。逻辑像素:可以认为是计算机坐标系统中得一个点,这个点代表一个可以由程序使用的虚拟像素,也可称为设备独...

随便推点

vue关闭当前页面 跳转_如何让用户选择是否离开当前页面?_weixin_39760857的博客-程序员信息网

写在开头为什么要写这个文章,因为每个礼拜都有人问我这个问题...抄一个微信公众号的编辑器的类似功能场景来实现为什么要让用户选择是否离开页面如果用户填写了很多数据此时不小心点了其他a标签或者关闭了浏览器,不做判断,那么用户数据直接丢了梳理需求离开页面方式,被location.href,a标签,关闭浏览器或者当前tab页等...需要判断数据是否跟初始化时一致(用户有无填写表单...)用户选择...

第一次在博客园写博客。。。新人_difei8138的博客-程序员信息网

以前都是自己建站写博客,后来发现,技术不太成熟,而是需要一定的成本,本人还是一个中专生,域名主机什么的支撑不起啊。后来就纠结选择哪个一个博客,后来看到一篇程序员写的文章很nice,我就选择了博客园。以前学过一点数据恢复的原理,和网络搭建、计算机芯片级维修反正感觉都是半吊子。前段时间有想学web前段,经理让我做网站试试,但是后台做不来,然后现在目标就想学些网站后端语言比如PHP,以...

java将json对象,数组传递给js函数_数组传入js_java小白-说的博客-程序员信息网

本文将展示两个示例。第一个示例,通过java将json对象传递给js函数第二个示例, 将数组传递给js函数,js需要将其中个别位置的字节数组组合后再转回为10进制。例如,将数组第5和6位,转变为数字, 0xa1, 0x9F, 也就是线组成a19f,然后转换41375。package com.yq.jsdemo;import com.alibaba.fastjson.JSONObject;import lombok.extern.slf4j.Slf4j;import javax.scrip

heatmap(热图)_机尾云拉长的博客-程序员信息网

热图有时候叫热区图或者热力图,都是用于表现某种事物密集度的图形化显示。我写的这个没有画底图,不然会更好趣,比如一个键盘,一张房屋平面图,或者一张Google地图,拿它做什么用,完全取决于你的需要。二、原理1、首先可以参考下面几个链接[heatmap.js 一个用canvas画热力图的利器] http://www.cnblogs.com/bdqlaccp/archive/2012/09/12...

解决nodejs报错 :Cannot find module 'xxx'的问题 。(自己总结的,亲测有效)_cannot find module 'node:module_10Alexander01的博客-程序员信息网

因为这个文件夹是从其他地方复制过来的,所以路径出现了问题,把依赖删除了之后,重新 npm install xxx,(xxx指的是你计算机找不到的那个模块 比如application)就解决问题了先删除依赖包: 但是!!: 直接用 npm install xxx 会非常慢 ,还容易安装不成功,非常不建议使用npm。解决方案:使用淘宝镜像 cnpm i xxx ( xxx指的是你计算机找不到...

PCL:点云分割-圆柱体模型分割_qq_36418943的博客-程序员信息网

#include <pcl/ModelCoefficients.h>#include <pcl/io/pcd_io.h>#include <pcl/point_types.h>#include <pcl/filters/extract_indices.h>#include <pcl/filters/passthrough.h>#...

推荐文章

热门文章

相关标签