将Python脚本打包成exe文件
作者:编程的赛赛 发布时间:2021-06-08 12:21:55
相信很多朋友在用Python写完代码之后都迫不及待的想发给对象交流(装X),但是发源码又要求对方有对应的解释器,一般是行不通的,所以我们要把源码打包成可执行的.exe文件,方便广大用户使用。
1.安装依赖
打开命令行【开始->搜索->cmd】
pip install pyinstaller
等待安装成功
2.整合资源
将代码所需要加载的文件资源【图片、因为、文档等】整合一下
放置在一个或多个文件夹下
Import的脚步不用整合,因为pyinstaller会自动帮你打包这些脚本的
例如我们写个例子demo.py,显示一张图片并打印’你好呀!’
import cv2
imgFilePath = 'D:/picture/image.jpg'
img = cv2.imread(imgFilePath)
cv2.imshow('img', img)
print('你好!')
cv2.waitKey()
这时候我们就要新建一个文件夹Image,将图片文件夹放入
3.修改脚本并测试
这一步特别重要,因为我们的资源和脚本一般是分开的,并且不可知用户会把我们的文件夹放在哪个路径里
所以需要将所有路径(读取和写入)改为【相对路径】
./表示程序当前所在路径,故例子中的路径改为
imgFilePath = './image/image.jpg'
改完路径后不要忘了测试程序能否正确运行哦!
4.准备图标(可略过)
如果想要打包好的程序打包成自己想要的图标
就先准备一张图片放在文件夹中吧!
注意需要用.ico格式的图片才有效哦
例子:
5.pyinstaller打包
打开命令行窗口,将路径改为脚本所在文件夹
执行命令
命令格式为
Pyinstaller -F -w -i [图片名].ico [脚本名].py
注意要加文件后缀哦!
-w:不打包工作台[就是那个黑色的界面,如果有GUI就要加-w,例子需要在工作台打印‘你好’,就不能加]
-i:打包成指定图标,如果懒得做图标就去掉图片名和-i
6.结论
找到生成的dist文件夹,里面就能看见exe文件了!
激动的心,颤抖的手,是不是马上想执行一下呀?
但是一定会出错的,因为相对路径在dist但是dist没有资源文件夹
我们应该新建一个文件,里面放入所有资源文件夹和exe文件
测试无误后压缩发给别人,别人解压后就可以使用了!
例子中我们将exe例子文件夹压缩发送就ok了
来源:https://blog.csdn.net/a13337649640/article/details/122819719
猜你喜欢
- 本文实例讲述了Python3实现爬取简书首页文章标题和文章链接的方法。分享给大家供大家参考,具体如下:from urllib import
- 三种遍历列表里面序号和值的方法:最近学习python这门语言,感觉到其对自己的工作效率有很大的提升,特在情人节这一天写下了这篇博客,下面废话
- 本文主要讲python支持zookeeper的接口库安装和使用。zk的python接口库有zkpython,还有kazoo,下面是zkpyt
- 如下所示:a[:, np.newaxis] # 给a最外层中括号中的每一个元素加[]a[np.newaxis, :] # 给a最外层中括号中
- 本文介绍python如何进行截图保存的几种方法,在测试过程中,是有必要截图,特别是遇到错误的时候进行截图。结合Python其它模块如time
- 一个很棒的 blog 文章,是 PPK 两年前写的,文章中解释了 contains() 和 compareDocumentPosition(
- 1、创建Django项目打开pycharm,新建Django项目,可以选择一个虚拟环境建完之后目录如下:2、创建应用,我这里命名为demo在
- 前言Celery在python中的应用除了实现异步任务(async task)外也可以执行定时任务(beat)一、Celery定时任务是什么
- 这是一种相对比较复杂的图表,但是仍然遵循上篇中提出的最基本的思路。本例中使用的定义列表标签dl可能平常我们见得不多,一般我们在做列表的时候通
- 起步Python 提供的多线程模型中并没有提供读写锁,读写锁相对于单纯的互斥锁,适用性更高,可以多个线程同时占用读模式的读写锁,但是只能一个
- 来源:Chinaasp 之所以翻译这篇文章,是因为目前关于CGI安全性的文章都是拿Perl作为例子,而专门介绍ASP,PHP或者JSP安全性
- 本文实例讲述了Python类装饰器。分享给大家供大家参考,具体如下:编写类装饰器类装饰器类似于函数装饰器的概念,但它应用于类,它们可以用于管
- Python获取pid和进程名字1、安装psutilpip install psutil如果pip不识别,就进入下载的python目录下面执
- 企业管理器中没有改数据库名的功能,如果一定要用企业管理器来实现,你可以备份数据库,然后还原,在还原时候可以指定另一个库名,然后再删除旧库就行
- 如果遇到下述错误,表示当启动mysqld时或重新加载授权表时,在用户表中发现具有非法密码的账户。发现用户'some_user'
- 一.图像灰度线性变换原理图像的灰度线性变换是通过建立灰度映射来调整原始图像的灰度,从而改善图像的质量,凸显图像的细节,提高图像的对比度。灰度
- 本文主要用python实现了对网站的模拟登录。通过自己构造post数据来用Python实现登录过程。当你要模拟登录一个网站时,首先要搞清楚网
- 本文实例为大家分享了python openCV自制绘画板的具体代码,供大家参考,具体内容如下import numpy as npimport
- 去空格及特殊符号s.strip().lstrip().rstrip(',')Python strip() 方法用于移除字符串
- 本文实例讲述了scrapy自定义pipeline类实现将采集数据保存到mongodb的方法。分享给大家供大家参考。具体如下:# Standa