Python 3.6打包成EXE可执行程序的实现

yipeiwu_com6年前Python基础

1、下载pyinstaller

python 3.6 已经自己安装了pip,所以只需要执行 pip install pyinstaller就可以了

2、打包程序

进入到你你需要打包的目录;比如我在H:\xcyk

开始打包,执行pyinstaller xxx.py

我们发现,竟然报错!!!,然后去官网看,说不支持python3.6打包

3、解决pyinstaller 暂时不支持python3.6打包方法

为什么说是暂时呢。。 因为,3.6的打包的目前正在完善中。。。 当然你可以先下载最新的版本暂时用。

github下载

解压后,将其中的PyInstaller 文件夹 复制到你安装pyinstaller的相应目录Python36\Lib\site-packages,进行替换。

在需要打包的文件目录下执行:pyinstaller xxx.py,我们发现成功了!

打包好的文件在dist里面。但是。。我们发现是里面是一个文件夹,生成了好多东西。

这是因为我们没有加参数,所以打包成散包。可以用参数-F 让生成一个文件

H:\xcyk>pyinstaller -F xxx.py

常用参数介绍

  • –icon=图标路径
  • -F 打包成一个exe文件
  • -w 使用窗口,无控制台
  • -c 使用控制台,无窗口
  • -D 创建一个目录,里面包含exe以及其他一些依赖性文件
  • pyinstaller -h 来查看参数

pyinstaller 改变图标

pyinstaller -F --icon=my.ico xxx.py 

my.ico 是一个图标名,和当前的xxx.py文件在一起

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

使用Python的内建模块collections的教程

collections是Python内建的一个集合模块,提供了许多有用的集合类。 namedtuple 我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: &g...

Python代码解决RenderView窗口not found问题

Python代码解决RenderView窗口not found问题

源起   Error:setParent: Object 'renderView' not found   这是一个在工作中很常见的问题,以前做特效的时候有10%的概率会碰到,多发生在打...

浅析Python多线程下的变量问题

在多线程环境下,每个线程都有自己的数据。一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响其他线程,而全局变量的修改必须加锁。 但是局部变量也有问题,就...

在Python中定义和使用抽象类的方法

像java一样python也可以定义一个抽象类。 在讲抽象类之前,先说下抽象方法的实现。 抽象方法是基类中定义的方法,但却没有任何实现。在java中,可以把方法申明成一个接口。而在pyt...

python使用标准库根据进程名如何获取进程的pid详解

前言 标准库是Python的一个组成部分。这些标准库是Python为你准备好的利器,可以让编程事半功倍。特别是有时候需要获取进程的pid,但又无法使用第三方库的时候。下面话不多说了,来一...