python利用pyinstaller打包文件

首先在命令行下载pyinstaller包

pip install pyinstaller

下载完成以后对应工程进行打包即可,步骤如下

1.想要对哪个工程打包,右键如图所示进行操作。

2.在命令框中输入以下代码。

        pyinstaller -F 工程名.py        参数F表示覆盖打包,这样打包时,不管我们打包几次,都是最新的,而且它是集成一个exe文件,不适合调试

        pyinstaller - D -c 工程名.py       参数D 生成一个目录,各种依赖库,资源和exe都在目录下,参数c则显示命令行窗口,如果不想显示则需-w,一般情况下默认-c。

        还有就是改变图标  代码为  pyinstaller -D -i ***.ico 工程名,参数-i 设定程序图标 ,其后面的xxx.ico文件就是程序小图标,这里注意一下,小图标的图片需放在当前目录下,后缀名改成.ico即可,代码实现如下

pyinstaller -F -w -i ./图片名.ico  工程名.py 

        以上几个就是常用的,足够满足需求了

在上图中输入以上代码即可打包

3.pyinstaller打包常见问题

        1. 路径最好为英文,没有中文字符;
2. 脚本名称里没有特殊字符
3. 使用utf-8编码
4. 图标文件必须是正常格式,为.ico文件
5. 命令使用pyinstaller和pyinstaller.exe结果都是一样的
6. 参数的添加得在pyinstaller和dev.py文件中间,不能随意位置添加
7. 如果你打包的代码中用到了静态文件,如图片和资源文件,需手动复制到文件夹中,否则exe文件会报找不到文件的错
8. 代码里导包最好使用from的方式,可节省打包后的文件大小
9. 就是当你使用错误的参数去打包或者打包到一半中断,等等此类运行到一半没了的情况。会导致你原来的py文件变成一个0KB的空文件。里面的代码会全部消失!!!所以以后需要有个良好的习惯,就是复制一份代码出来,用这个副本进行打包。并且参数出错,或者打错了导致失败时,检查下副本文件的py文件是否还存在再继续重新打包,不然打出来的就是空的文件,自然一直闪退,因为压根没内容(这点我没遇到过,来自别人的提醒)
10. pygame代码调试的时候要在结束时加quit()不然程序会崩溃
11. py文件运行没问题,不代表你打包后的文件运行就没问题,所以在打包好文件,打算运行exe文件测试时一定要录屏,因为报错会一闪而逝然后程序关闭,不仔细看的话,发现不了还报错,只会认为程序一运行就闪退,会让人不明所以,都不知道为什么,只有清楚报的什么错才好去解决,所以,一定要录屏!!!!
12. 如果在py文件中用到了多进程,且你在Windows下编译需要加一行代码在开头,multiprocessing.freeze_support() 
13. 打包的时候要进入到能运行这个py文件的虚拟环境中,不能在别的环境中对py文件打包,不然打包的结果还是你原来的环境,可能打包文件过大,或者引起缺失包等其他问题
14. 如果有打包错误,具体看build里的warn***.txt文档,里面详细记载了错误的原因。一般都是库丢失
 

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用pyinstaller打包.lib文件的方法如下: 1. 首先,在命令行中执行以下命令,将.lib文件与主文件一起打包: ``` pyinstaller [主文件 -p [其他文件1 -p [其他文件2 --hidden-import [自建模块1 --hidden-import [自建模块2] ``` 这个命令将会生成dist文件夹,其中包含了可执行文件。 2. 如果你只想要一个独立的可执行文件,可以使用`-F`选项,如下所示: ``` pyinstaller -F [主文件 -p [其他文件1 -p [其他文件2 --hidden-import [自建模块1 --hidden-import [自建模块2] ``` 这样将只生成一个独立的可执行文件。 3. 如果你想修改生成的目标文件地址,可以使用`--distpath`选项,如下所示: ``` pyinstaller -F [主文件 -p [其他文件1 -p [其他文件2 --hidden-import [自建模块1 --hidden-import [自建模块2 --distpath=[目标文件夹路径] ``` 这样将会将生成的可执行文件放在指定的目标文件夹中。 希望这些信息对你有帮助! [3<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python 利用 pyinstaller 打包 .exe/.sh (入门)](https://blog.csdn.net/qq_19707521/article/details/104755943)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [利用pyinstaller打包.py文件遇到的小问题【新手】](https://blog.csdn.net/weixin_51456573/article/details/109038067)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值