pyinstaller打包exe后不能运行(命令提示符来打包.py文件变成.exe文件)

1,基础操作

conda create -n b23 python=3.8

先是创造一个环境(叫什么名字都可以(作者这里用b23,尽量不要中文名))如果用默认的环境打包的话,文件200多M。用自己的环境用什么包就装什么包。

activate b23

如果刚刚建完或者很久以前就创造了这个环境,那么就这样进入你所创建的环境。

set conda_force_32bit=1

这个是把代码设置成32位兼容,虽然很多时候确实没用。

d:

把打包的目录切换到d盘(不建议搞很多文件夹,把程序复制到d盘就行了)

pyinstaller --clean -y -F -w -i e.ico e.py

这里是直接的打包代码,--clean是覆盖之前的exe文件、-i e.ico是exe的封面这两个不想要可以扔掉。注意两个e(一个python文件和一个ico文件)一定要在刚才设定的文件夹里面。

按下Enter后会跳出一大堆信息,只要字不是红色的,那就不是出错,耐心等待即可。有时360安全卫士会提示试图修改关键dll程序,这时只要允许程序所有操作就行了

Anaconda | The World's Most Popular Data Science Platform anacanda官网下载

2,有附属文件的打包

上次我遇到了一个问题:用pygame播放音频时音频播不出来。后来发现不是文件打包的问题,是windows文件线程的问题,但是我也找到了pyinstaller的一个新参数:

--add-data

pyinstaller打包exe后不能运行(命令提示符来打包.py文件变成.exe文件)(1)

是附属文件打包进打包后目录的一个参数。

--add-data "c.ogg;dist"

pyinstaller打包exe后不能运行(命令提示符来打包.py文件变成.exe文件)(2)

c.ogg是我想要打包进去的文件,dist是想打包进去的文件夹(即使 -F把文件打包成一个文件,里面也是分层的,所以程序内调用要改成文件夹名/文件名)你的文件夹可以起英文的任何名字,如果没有这个文件夹系统会自动新建一个文件夹。

打包文件和文件夹的分隔符(windows为; linux为:)

3,打包文件过大

首先是你的默认环境里装了很多你不需要的包。

所以你不能使用默认环境装

conda create -n i31 python=3.8

这里我们的新环境是i31,python版本是3.8这个读者可以自行修改

activate i31

进入这个环境

装上你需要的包

在打包就行了

————————————————

版权声明:本文为CSDN博主「yellow duck s」,由原作者搬运到今日头条的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/Yellowsbbanana/article/details/122781287

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页