小言_互联网的博客

用python打包exe应用程序-PyInstaller

406人阅读  评论(0)

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 set global.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


   
  1. import turtle
  2. screen = turtle.Screen()
  3. screen.setup( 375, 700)
  4. circle = turtle.Turtle()
  5. circle.shape( 'circle')
  6. circle.color( 'red')
  7. circle.speed( 'fastest')
  8. circle.up()
  9. square = turtle.Turtle()
  10. square.shape( 'square')
  11. square.color( 'green')
  12. square.speed( 'fastest')
  13. square.up()
  14. circle. goto( 0, 280)
  15. circle.stamp()
  16. k = 0
  17. for i in range(1, 13):
  18. y = 30 * i
  19. for j in range(i - k):
  20. x = 30 * j
  21. square. goto(x, -y + 280)
  22. square.stamp()
  23. square. goto(-x, -y + 280)
  24. square.stamp()
  25. if i % 4 == 0:
  26. x = 30 * (j + 1)
  27. circle.color( 'red')
  28. circle. goto(-x, -y + 280)
  29. circle.stamp()
  30. circle. goto(x, -y + 280)
  31. circle.stamp()
  32. k += 3
  33. if i % 4 == 3:
  34. x = 30 * (j + 1)
  35. circle.color( 'yellow')
  36. circle. goto(-x, -y + 280)
  37. circle.stamp()
  38. circle. goto(x, -y + 280)
  39. circle.stamp()
  40. square.color( 'brown')
  41. for i in range(13, 17):
  42. y = 30 * i
  43. for j in range(2):
  44. x = 30 * j
  45. square. goto(x, -y + 280)
  46. square.stamp()
  47. square. goto(-x, -y + 280)
  48. square.stamp()
  49. turtle.up()
  50. turtle. goto( -20, -250)
  51. turtle.write( "节日快乐")
  52. # 这里可以送上你的祝福
  53. turtle.hideturtle()
  54. turtle.done()

7. 源文件下载

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

提取码:oq2w

 

更多优秀文章


转载:https://blog.csdn.net/bigzql/article/details/110944639
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场