pyinstaller打包文件及warn文件中许多missing module 的解决方法

python2.7下使用pyinstaller打包文件及warn文件中许多missing module 的解决方法

注:pyinstaller不属于python执行的包,需要在cmd命令行下使用。

1.安装与python版本相适应的pyinstaller
目前python都在使用3.x版本,相对于python2来说python3里边许多包名字大小写有改动,并且有包合并的现象,以至于有些python2编写的代码中,不能直接安装pyinstaller来打包文件,因为直接conda install pyinstaller 会选择最新版本的pyinstaller来安装。而pyinstaller只有3.6版本以下的支持python2。目前已经更新到4.1版本了。
所以我们应该在cmd中先用conda 建立一个python2的新环境,详见我的另一篇文章conda新建环境相关
新环境的话安装的python包比较少,打包生成的exe文件不会太大。建好环境后使用activate 环境名来激活环境,之后安装3.6版本及以下的pyinstaller如下:

conda install pyinstaller==3.6

装好之后使用cd 要打包的.py文件路径命令转换到该文件夹下,再使用cd 要打包的.py文件路径 dir显示该文件夹下所有内容帮助我们转换。
之后进行打包

pyinstaller打包语句
F:\>cd python\Anaconda\PycharmProjects\hello-master
F:\python\Anaconda\PycharmProjects\hello-master>dir
F:\python\Anaconda\PycharmProjects\hello-master>pyinstaller -i hello-logo.ico -w hello.py -n nihao

这里pyinstaller的-i后边跟的是软件图标名字,必须是ico格式的图片,可以到网上自己转换格式。
-w为不显示cmd操作框直接运行软件
如果使用-F会完全打包到一个exe中不会有多余的东西,但是一些隐性的包可能会漏掉,我找了一天解决方案也没解决。在这之间我才发现必须使用与python2相适应的pyinstalller才能尽可能多的把第三方包打包进去,原因同样是名字有变化。

2.打包后的闪退与warn文件中许多missing module 的解决
在使用以上语句打包之后会在原路径下生成新文件夹,里边有exe文件。如果运行就闪退并且warn文件中许多missing module 记录,则可以吧exe拖进cmd中运行,会看到哪里在报错,这也算是一个小技巧,比其他人说的使用录屏软件录下来看方便多了。
如果在cmd中正常运行,而双击exe无法运行,则只需要把被打包的.py文件原目录下的文件都复制到exe所在的文件夹中就可以运行了。
我的第一个exe文件也终于勉强可以用了。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值