[转帖]pyinstaller实现将python程序打包成exe文件

pyinstaller,实现,python,程序,打包,exe,文件 · 浏览次数 : 0

小编点评

1. 下载并安装pyinstaller。 2. 将程序打包成exe可执行文件。 3. 使用命令行打开命令行窗口。 4. 输入以下命令:`D:\pythonwork\exetest\dist\test.exe`。 5. 等待程序运行完成。

正文

https://www.cnblogs.com/blogzyq/p/13939739.html

 

如果我们想要在一个没有python以及很多库环境的电脑上使用我们的小程序该怎么办呢?

我们想到,在Windows平台可以将程序打包成exe可执行文件,而pyinstaller就可以帮我们将程序打包成exe文件。

pyinstaller安装

pip install pyinstaller


pyinstaller使用

首先我们来了解一下pyinstaller的各个参数

我们输入-h命令可以查看所有选项

C:\Users\11573>pyinstaller -h

选项有很多,本文只介绍常用的选项参数

-F,-onefile 产生单个的可执行文件
-D,--onedir 产生一个目录(包含多个文件)作为可执行程序
-a,--ascii 不包含 Unicode 字符集支持
-d,--debug 产生 debug 版本的可执行文件
-w,--windowed,--noconsolc 指定程序运行时不显示命令行窗口(仅对 Windows 有效)
-c,--nowindowed,--console 指定使用命令行窗口运行程序(仅对 Windows 有效)
-o DIR,--out=DIR 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件
-p DIR,--path=DIR 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径
-n NAME,--name=NAME 指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字

 我们可以先使用tk来编写一个简单的gui文件来测试下

test.py

复制代码
import tkinter as tk
window = tk.Tk()#创建一个窗口
window.title('测试窗口')
window.geometry('300x100')#窗口大小

text = tk.Text(window)
text.insert(tk.INSERT,'hello')
text.pack()

tk.mainloop()


首先打开命令行窗口并将目录切换至py文件目录输入以下命令

D:\pythonwork\exetest>pyinstaller -D -w test.py


dist文件夹就是生成的文件夹,打开路径
D:\pythonwork\exetest\dist\test

发现里面有很多很多文件 并且有一个test.exe的文件,这就是我们生成的可执行文件了
打开运行一切正常


需要注意的是:如果本身程序中使用了一些外部文件,这些文件也需要一同放进与exe文件相同的目录中去
转自:https://www.cnblogs.com/CYHISTW/p/11216973.html

与[转帖]pyinstaller实现将python程序打包成exe文件相似的内容:

[转帖]pyinstaller实现将python程序打包成exe文件

https://www.cnblogs.com/blogzyq/p/13939739.html 如果我们想要在一个没有python以及很多库环境的电脑上使用我们的小程序该怎么办呢? 我们想到,在Windows平台可以将程序打包成exe可执行文件,而pyinstaller就可以帮我们将程序打包成exe

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

[转帖]

https://cloud.tencent.com/developer/article/2168105?areaSource=104001.13&traceId=zcVNsKTUApF9rNJSkcCbB 前言 Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻

[转帖]ISV 、OSV、 SIG 概念

ISV 、OSV、 SIG 概念 2022-10-14 12:29530原创大杂烩 本文链接:https://www.cndba.cn/dave/article/108699 1. ISV: Independent Software Vendors “独立软件开发商”,特指专门从事软件的开发、生产、

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww

[转帖]HTTPS中间人攻击原理

https://www.zhihu.com/people/bei-ji-85/posts 背景 前一段时间,公司北京地区上线了一个HTTPS防火墙,用来监听HTTPS流量。防火墙上线之前,邮件通知给管理层,我从我老大那里听说这个事情的时候,说这个有风险,然后意外地发现,很多人原来都不知道HTTPS防

[转帖]关于字节序(大小端)的一点想法

https://www.zhihu.com/people/bei-ji-85/posts 今天在一个技术群里有人问起来了,当时有一些讨论(不完全都是我个人的观点),整理一下: 为什么网络字节序(多数情况下)是大端? 早年设备的缓存很小,先接收高字节能快速的判断报文信息:包长度(需要准备多大缓存)、地

[转帖]awk提取某一行某一列的数据

https://www.jianshu.com/p/dbcb7fe2da56 1、提取文件中第1列数据 awk '{print $1}' filename > out.txt 2、提取前2列的文件 awk `{print $1,$2}' filename > out.txt 3、打印完第一列,然后打

[转帖]awk 中 FS的用法

https://www.cnblogs.com/rohens-hbg/p/5510890.html 在openwrt文件 ar71xx.sh中 查询设备类型时,有这么一句, machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /

[转帖]Windows Server 2022 简体中文版、英文版下载 (updated Oct 2022)

https://sysin.org/blog/windows-server-2022/ Windows Server 2022 正式版,2022 年 10 月更新,VLSC Posted by sysin on 2022-10-27 Estimated Reading Time 8 Minutes