Bootstrap

Pycharm项目生成可执行exe文件(Windows版)

一个项目开发完毕后总有一种想法,就是生成可执行文件,总不能一直用python xxx执行吧。为此下面介绍使用开发环境pycharm生成exe文件

pyinstaller将Python脚本打包成可执行程序,使在没有Python环境的机器上运行,它不是跨编译的,也就是说在Windows下用PyInstaller生成的exe只能运行在Windows下,在Linux下生成的只能运行在Linux下。

一、安装pyinstaller

(1)在cmd安装pyinstaller包

1、检查电脑安装的python版本
在这里插入图片描述

2、安装pyinstaller

输入

pip install pyinstaller

在这里插入图片描述

3.验证在cmd控制台是否安装pyinstaller成功

在这里插入图片描述

(2)使用pycharm安装pyinstaller

以下操作同时适用于windows和Linux下的Pycharm
1、打开Pycharm。
2、打开Terminal(快捷键Alt + F12)

在这里插入图片描述
3、安装pyinstaller工具

在这里插入图片描述
输入:

pip install pyinstaller

注:也可以官网中完成安装: http://www.pyinstaller.org/

二、打包生成exe文件

接上述pycharm的操作
Terminal中输入:

pyinstaller -F -w main.py

注:
(1)main.py是我的项目启动文件名称,要替换成你自己的项目启动名称。
(2)若有多个文件可以需要用启动文件即可,其他文件(如图像文件、自创的类库等)放在dist文件下

(3)如果是多个文件,那么可以使用下述命令连接

pyinstaller -F 文件1名.py-p 文件2名.py

附:关于pyinstaller 的常用参数

基本语法: pyinstaller options myscript.py

生成的可执行文件放在同目录dist下。

常用的可选参数如下:
–onefile 将结果打包成一个可执行文件
–onedir 将所有结果打包到一个文件夹中,该文件夹包括一个可执行文件和可执行文件执行时需要的依赖文件(默认)
–paths=DIR 设置导入路径
–distpath=DIR 设置将打包的结果文件放置的路径
–specpath=DIR 设置将spec文件放置的路径
–windowed 使用windows子系统执行,不会打开命令行(只对windows有效)
–nowindowed 使用控制台子系统执行(默认)(只对windows有效)
–icon=<FILE.ICO>file.ico添加为可执行文件的资源(只对windows有效)

pyinstaller 选项:
  -F(注意大写)是所有库文件打包成一个可执行文件,windows下是exe,Linux下是对应的可执行文件;
  -w是禁止弹出黑色控制台窗口。
  如果你的项目调用了图片等本地资源,请将你的可执行文件放在对应目录才能运行。
  如:我的项目调用了相对目录image下的文件,所以我的可执行文件要放在和images同级目录下才能执行。

-w:Windows程序,不显示命令行窗口。
这在GUI界面时非常有用。

-i:是程序图标,app.py是你要打包的py文件

-p: 表示你自己自定义需要加载的类路径,一般情况下用不到

–icon=图标路径

-i:加入图标

-F 打包成一个exe文件

-w 使用窗口,无控制台

-c 使用控制台,无窗口

-p:有些需要手动添加包的位置(dir1,dir2)多个地址时以分号分开(这个是重点,多个文件的实现和单个文件相比就是多了这一步操作)

-D 创建一个目录,里面包含exe以及其他一些依赖性文件

还有一些可以通过pyinstaller -h 来查看参数

如pyinstaller --paths=“D:\Queena” guess_exe.py

此种方式每次都得输入命令比较麻烦,我们可以在pycharm中将pyinstaller 安装成外部工具,如方式二所示

方式二

在这里插入图片描述

在这里插入图片描述

必须将用到的资源放在同级目录下

最后将其他的图片资源等放在exe文件同级目录下.

在这里插入图片描述

在这里插入图片描述

module文件用例存放 自建的类
resources文件用来存放图片资源;

在这里插入图片描述

点击运行
在这里插入图片描述

六、想要分享给朋友的话,就将dist文件夹中的Game文件夹压缩发送.

在这里插入图片描述

参考博客:

https://blog.csdn.net/lxj963/article/details/104214583

https://blog.csdn.net/qq_32939413/article/details/86564611

;