当前位置:   article > 正文

python 利用 pyinstaller 打包 .exe/.sh (入门)_python打包成sh

python打包成sh

一、安装 pyinstaller:

pip install pyinstaller

                                                ps:遇到问题可以去 whl 文件仓库 下载

二、pyinstaller 可选参数:

可选参数格式举例功能说明
-Fpyinstaller -F demo.py只在dist中生产一个demo.exe文件。
-Dpyinstaller -D demo.py默认选项,除了demo.exe外,还会在在dist中生成很多依赖文件,推荐使用。
-cpyinstaller -c demo.py默认选项,只对windows有效,使用控制台,就像编译运行C程序后的黑色弹窗。
-wpyinstaller -w demo.py只对windows有效,不使用控制台。
-ppyinstaller -p E:\python\Lib\site-packages demo.py设置导入路径,一般用不到。
-ipyinstaller -i D:\file.icon demo.py将file.icon设置为exe文件的图标,推荐一个icon网站:icon

                              ps:1)上面的可选参数可以组合使用,比如pyinstaller -F -i D:\file.icon demo.py
                                      2)能够from xxx import yyy就尽量不要import xxx,这样可以减少打包后的体积。

三、多个文件打包:

  1. pyinstaller [主文件] -p [其他文件1] -p [其他文件2]
  2. --hidden-import [自建模块1]
  3. --hidden-import [自建模块2]
  4. # 以上为一整条命令
  1. pyinstaller demo1.py demo2.py
  2. #----------------------------------
  3. pyinstaller main.py -p mysql.py -p other.py --hidden-import mysql --hidden-import other
  4. #-------------------
  5. #在当前的目录下,将会生成两个文件夹:build和dist。dist里面就是所有可执行文件,点击demo.exe就能运行了。
  6. #-------------------

                                                                  ps:注意路径中不要有中文
 

四:高阶功法

一般而言,pyinstaller的基本用法已经够用了,但是有特殊需求,比如打包图片资源文件时,就必须用到它的高阶功法了。

首先得了解spec文件,简而言之,spec文件就是一份告诉pyinstaller如何打包的配置文件。
可以通过pyi-makespec demo.py来生成demo.spec文件。其内容如下:

  1. # -*- mode: python -*-
  2. block_cipher = None
  3. resources = (("inspurer.db", "."), ("dlib_face_recognition_resnet_model_v1.dat", "."),
  4. ("shape_predictor_68_face_landmarks.dat", "."), ("close_logcat.png", ".")
  5. , ("open_logcat.png", "."), ("finish_register.png", "."), ("new_register.png", ".")
  6. , ("start_punchcard.png", "."), ("end_puncard.png", "."), ("index.png", "."))
  7. a = Analysis(['workAttendanceSystem.py'],
  8. pathex=['C:\\Users\\lenovo\\Desktop\\test\\python'],
  9. binaries=[],
  10. datas=resources,
  11. hiddenimports=[],
  12. hookspath=[],
  13. runtime_hooks=[],
  14. excludes=[],
  15. win_no_prefer_redirects=False,
  16. win_private_assemblies=False,
  17. cipher=block_cipher,
  18. noarchive=False)
  19. pyz = PYZ(a.pure, a.zipped_data,
  20. cipher=block_cipher)
  21. exe = EXE(pyz,
  22. a.scripts,
  23. [],
  24. exclude_binaries=True,
  25. name='workAttendanceSystem',
  26. debug=False,
  27. bootloader_ignore_signals=False,
  28. strip=False,
  29. upx=True,
  30. console=True )
  31. coll = COLLECT(exe,
  32. a.binaries,
  33. a.zipfiles,
  34. a.datas,
  35. strip=False,
  36. upx=True,
  37. name='workAttendanceSystem')

对于上面这个文件,需要注意两点:

除了resources配置是我添加修改之外,其余全是自动生成,这个配置是用来添加资源文件的。
pathex是工程的根目录。

生成并配置好spec文件后,我们可以通过pyinstaller demo.spec来执行打包任务。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/51391
推荐阅读
相关标签
  

闽ICP备14008679号