利用pyinstaller将py文件打包为exe的方法

 更新时间:2018年05月14日 11:15:56   作者:老梁家的风子  
本篇文章主要介绍了利用pyinstaller将py文件打包为exe的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

写在前面

做大创的时候,因为需要计算合金的各种能量、温度等一大堆数据,为了能够福泽后来的学弟学妹,我决定将我处理数据时用的python程序打包成exe,这样就可以在没有安装python环境的电脑上运行我的程序了。所以上网查了一大堆如何打包的方法,尝试了py2exe和pyinstaller这两种方法,发现还是后者更加的简单便捷。同时为了能够帮助我自己以后再想用到的时候有一个教程可以查找,我就写了这一篇博客出来,留作纪念。

前提条件

首先我们需要两个东西:python3.4版本,pyinstaller模块。

在windows下用pip安装pyinstaller只需要在cmd中输入

pip install pyinstaller

即可。

开始打包

首先我们将想要打包的test.py文件放在文件夹Test中,test.py文件中内容如下

#输入两个数,求两个数之和。

x = input('请输入第一个数:')
y = input('请输入第二个数:')

z = float(x) +float(y)

print('求得和为:'+str(z))

z = input('请按任意键退出...')

这个文件夹绝对地址为C:/Test

所以我们首先通过cmd进入到这个文件夹内,也就是在cmd中输入

cd C:/Test

我们这就相当于已经进入到了这个文件夹中,接下来就是重头戏了,是时候打包了。

再在cmd中输入命令

pyinstaller -F test.py

其中-F这个参数代表将所有内容打包成一个exe文件。如果不带这个参数的话,它将会是一大堆文件,所以这相当于是方便拷贝和使用了。

当一长串信息闪过,最终停止后,我们就可以再看一下文件夹中的内容了,其中多出了一个dist文件夹,里面存放的就是我们所需要的东西:test.exe。

我们打开以后,就可以看到以下界面

示例界面

恭喜你!成功了。

一些小坑

当然,小程序打包成exe谁也不像动则三四百兆,本来就是图个方便,如果太大的话反而还比较麻烦。所以我在打包的时候就发现pyinstaller会把程序用到的所有模块都给他包含进去。

当我用到了numpy模块的时候,我的exe程序一下子涨到了100+M,这就让我很费解,我看了一下打包的信息,原来他把各种PyQt5的模块也给包进去了,然而我的程序中并没有用到PyQt5这个模块,毕竟就一个黑框框,还没有给它写界面呢。

假如我用的例子是

import numpy as np
#输入两个数,求两个数之和。
x = input('请输入第一个数:')
y = input('请输入第二个数:')
z = float(x) +float(y)
print('求得和为:'+str(z))
z = input('请按任意键退出...')

生成的exe大小就到了100M.

所以无奈之下,我只能放弃使用numpy了。

所以诸位大佬如果知道怎么能够自己控制pyinstaller所打包进去的库,还希望在评论或者私信指点一下,感激不尽!!!以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python 文件处理注意事项总结

    Python 文件处理注意事项总结

    这篇文章主要介绍了Python 文件处理注意事项总结的相关资料,需要的朋友可以参考下
    2017-04-04
  • Python  中的pass语句语法详析

    Python  中的pass语句语法详析

    这篇文章主要介绍了Python 中的pass语句语法详析,pass是一种空操作(null operation),解释器执行到它的时候,除了检查语法是否合法,什么也不做就直接跳过
    2022-07-07
  • 详解Python 3D引擎Ursina如何绘制立体图形

    详解Python 3D引擎Ursina如何绘制立体图形

    Python有一个不错的3D引擎——Ursina。本文就来手把手教你认识Ursina并学会绘制立体图形,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-01-01
  • Python排序算法快速排序VS归并排序深入对比分析

    Python排序算法快速排序VS归并排序深入对比分析

    快速排序和归并排序是两种常见的排序算法,在Python中有着重要的应用,本文将深入探讨这两种算法的原理和实现,并提供丰富的示例代码来说明它们的工作方式
    2024-01-01
  • python生产环境禁用assert断言的方法

    python生产环境禁用assert断言的方法

    断言就是世界结果与期望结果去对比,符合预期的测试就是pass,不符合预期的测试就是failed,下面这篇文章主要给大家介绍了关于python生产环境禁用assert断言的相关资料,需要的朋友可以参考下
    2022-06-06
  • Python日志采集代码详解

    Python日志采集代码详解

    这篇文章主要介绍了Python日志采集,在实际使用python做自动化测试过程中两种解决思路都可以使用,且都挺方便,其中对于思路1,还可以将代码进行更进一步的封装,需要的朋友可以参考下
    2022-05-05
  • django中间键重定向实例方法

    django中间键重定向实例方法

    在本篇文章里小编给各位分享的是关于django中间键重定向实例方法以及相关代码,需要的朋友们学习下吧。
    2019-11-11
  • python之当你发现QTimer不能用时的解决方法

    python之当你发现QTimer不能用时的解决方法

    今天小编就为大家分享一篇python之当你发现QTimer不能用时的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python Dijkstra算法实现最短路径问题的方法

    python Dijkstra算法实现最短路径问题的方法

    这篇文章主要介绍了python Dijkstra算法实现最短路径问题的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Python采集数据保存CSV文件出现内容乱码的解决方法

    Python采集数据保存CSV文件出现内容乱码的解决方法

    这篇文章主要为大家详细介绍了如何解决Python中保存CSV文件内容乱码的问题,并提供详细的示例代码以更好地理解和解决这个问题,希望对大家有所帮助
    2024-03-03

最新评论