将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


猜你喜欢
- 简述写一个简单的flask文件下载接口。依赖flask、gevent代码不废话上代码。#!/usr/bin/env python3# -*-
- python web.py启动https端口 web.py启动https端口需要ssl
- 太长不看的简洁版本1.x = np.arange(start, end, steps)Values are generated within
- 一、前言在上一小节,我们介绍了文件的基本操作以及数据交换的格式,为了巩固我们上一节文件操作的知识。在这里我们做一个最基本的案例:用户登录二、
- python注释方法方式1单行注释:shift + #(在代码的最前面输入,非选中代码进行注释)多行注释:同单行一样在每一行的前面输入shi
- 创建一个dataframe结构import pandas as pddf = pd.DataFrame( data
- 本文实例为大家分享了Vue实现步骤条效果的具体代码,供大家参考,具体内容如下步骤总数和初始选择步骤 均可自定义设置,每个步骤title和de
- 下面介绍以threading模块来实现定时器的方法。首先介绍一个最简单实现:import threadingdef say_sth(str)
- 前言pycharm是python的一个商业的集成开发工具,本人感觉做python开发还是很好用的,django是一个很流行的python w
- 问题:windows环境下新建或编辑文本文件,保存时会在头部加上BOM。使用ftp上传到linux下,在执行时第一行即报错。以下方法可以去除
- KNN(K-Nearest-Neighbours Classiflication)分类算法,供大家参考,具体内容如下最简单的分类算法,易于理
- json_encode()如何转化一个对象? 使用 json_encode() 将数组 array
- 由于工作对人的眼球和精神都会带来一定的疲劳,所以在界面设计中,希望用户能够准确的关注重要的信息,而不因为用户的长期使用而流失信息。最近在看《
- 前言本文主要介绍属性、事件和插槽这三个vue基础概念、使用方法及其容易被忽略的一些重要细节。如果你阅读别人写的组件,也可以从这三个部分展开,
- HDF5 简介HDF(Hierarchical Data Format)指一种为存储和处理大容量科学数据设计的文件格式及相应库文件。HDF
- mysql是linux平台下最流行的数据库系统,今天介绍的是mysql的安装及简单的操作方法!groupadd mysql //建立mysq
- 编辑 my.cnf或者my.ini文件,去除下面这几行代码的注释: log_slow_queries = /var/log/mysql/my
- Python2.7: 使用Pyhook模块监听鼠标键盘事件-获取坐标。因该模块对Python3 有兼容性问题,故采用python2.7解释器
- 如何实现让每句话的头一个字母都大写? <%dim txtFnametxtFName = &qu
- 出现这样的问题是当你浏览UTF-8编码的时候,服务器默认用UTF-8的引擎来输出html,当你用再浏览GB2312的页面时,它还是用UTF-