社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

用python打包exe应用程序-PyInstaller

python自留地 • 6 月前 • 441 次点击  

1、PyInstaller简介

PyInstaller是一个跨平台的Python应用打包工具,支持 Windows/Linux/MacOS三大主流平台,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,从而允许最终用户在无需安装 Python 的情况下执行应用程序。
PyInstaller 制作出来的执行文件并不是跨平台的,如果需要为不同平台打包,就要在相应平台上运行PyInstaller进行打包。

2、PyInstaller安装

pip install Pyinstaller

有时候会安装失败?用以下方式安装

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple Pyinstaller

永久设置

pip config setglobal.index-url https://pypi.tuna.tsinghua.edu.cn/simple





3. 准备需要的文件

我们的tree文件夹放在c盘的

fac.ico 程序的图标

tree.py 是python文件




4.使用Pyinstaller

使用默认Pyinstaller打包方式

打开cmd窗口,把路径切换到当前路径打开命令提示行,



4.1 切换到英文输入法 win+R 打开命令窗口 输入cmd


4.2 切换到项目目录

一定要切换到项目目录再执行打包命令



4.3 输入命令打包

 

pyinstaller -F -i ./fac.ico tree.py

输入命令后看见 successfully 那就是成功了


4.4 看打包的结果


这个时候多了很多文件和文件夹

dist目录就是我们打包好的地方

tree.exe 就是我们打包好的文件


5.5 运行查看我们打包好的exe文件

对,双击就可以打开


 


5、参数的含义

-F 表示生成单个可执行文件

-w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!

-p 表示你自己自定义需要加载的类路径,一般情况下用不到

-i 表示可执行文件的图标


6. 附圣诞树源文件

tree.py


import turtle
screen = turtle.Screen()screen.setup(375700)

circle = turtle.Turtle()circle.shape('circle')circle.color('red')circle.speed('fastest')circle.up()
square = turtle.Turtle()square.shape('square')square.color('green')square.speed('fastest')square.up()
circle.goto(0280)circle.stamp()
k = 0for i inrange(113):    y = 30 * ifor j inrange(i - k):        x = 30 * j        square.goto(x, -y + 280)        square.stamp()        square.goto(-x, -y + 280)        square.stamp()
if i % 4 == 0:        x = 30 * (j + 1)        circle.color('red')        circle.goto(-x, -y + 280)        circle.stamp()        circle.goto(x, -y + 280)        circle.stamp()        k += 3
if i % 4 == 3:        x = 30 * (j + 1)        circle.color('yellow')        circle.goto(-x, -y + 280)        circle.stamp()        circle.goto(x, -y + 280)        circle.stamp()
square.color('brown')for i inrange(1317):    y = 30 * ifor j inrange(2):        x = 30 * j        square.goto(x, -y + 280)        square.stamp()        square.goto(-x, -y + 280)        square.stamp()turtle.up()turtle.goto(-20,-250)turtle.write("节日快乐")# 这里可以送上你的祝福turtle.hideturtle()turtle.done()

7. 源文件下载

链接:https://pan.baidu.com/s/1bpa1-4W_X2Pb_7MeAB4DTQ

提取码:oq2w

 


 

 

 一起学习! 

我是小白(微信: python1068 ) 备注 888建了个微信python学习群,互相解答问题,有需要的同学可以加我微信进群。 

 


 


👇戳原文:程序员单词库
有用就奖励个👍在看呗~

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/192334