python教程

Python打包成exe的几种方法

我的站长站 2021-12-11 人阅读

方法一:pyinstaller

1、打开CMD,安装pyinstaller模块,使用命令:pip install pyinstaller 等待完成,然后关闭cmd.
2、在需要打包的py文件所在文件夹的地址栏清空后输入cmd,打开cmd,这时候cmd路径会变成当前文件夹路径

Python打包成exe的几种方法

3、输入命令:pyinstaller -F 打包的文件名(比如我的打包文件时pdf.py,输入:pyinstaller -F pdf.py)然后等待结束,在当前文件夹的dist文件夹中会生成一个exe文件。
如果想生成的exe有自己的图标,需要把ico格式的图标文件与打包文件放在一个文件夹里,打包命令就变成:pyinstaller -F -i 图标文件名 打包文件名(例如我的是pyinstaller -F -i pdf.ico pdf.py)。这里说明-F表示生成一个单体文件,不用-F 默认产生多个文件作为可执行程序。
结论:pyinstaller生成的文件可以运行,但是体积有点大,我这短短几行代码生成的文件69MB大,于是开始尝试其他方法缩小文件体积。

方法二:pipenv+pipenv+pyinstaller

1、打开cmd 安装pipenv模块:pip install pipenv
2、安装完成后,随便找一个盘符,在这个盘符的根目录(最好是根目录)新建一个文件夹,作为虚拟环境,然后双击进入该文件夹,比如我在D盘创建env文件夹作为虚拟环境。
3、按住Shift键,在文件夹的空白处,点击鼠标右键,在菜单中找到Powershell,点击,出现Powershell的命令界面
4、安装python,例如:pipenv install --python 3.8(因为我的电脑安装的3.8版本python,所以我还选择3.8),安装完成后关闭
5、把打包的py文件和图标文件复制到此文件夹里。
6、文件夹地址栏清空,输入cmd,打开CMD窗口,激活虚拟环境,输入命令:pipenv shell,这时cmd变成下面这样:
7、安装打包文件需要的第三方模块(python自带的不用安装),使用命令:pipenv install 模块名,比如我的py文件7用到了pdfplumber、pandas和pyinstaller也要安装。比如我安装命令是pipenv install pdfplumber,pandas,pyinstaller
8、打包文件,命令跟第一种方法一样:pyinstaller -F py文件名 或带图标的:pyinstaller -F -i 图标文件夹名 py文件夹名 然后等待完成后在dist文件夹中可找到生成的exe文件。
结论,虚拟环境下生成的exe文件37MB,比纯pyinstaller小了近一半。虽然看上去步骤好多8个步骤,实际操作起来很简单,也很快。

方法三:pipenv+upx+pyinstaller

就是把upx这个文件放在同目录下就可以了 用第二种方法打包的时候会自动运行upx,生成的文件会再压缩,只有28MB。虽然还不太满意,目前还没有找到更好的方法。

相关推荐
  • python打包
  • Nuitka打包python为.exe基础入门教程

    写了一个小程序需要打包成exe,试了pyinstaller,打包出来超过1G,看网上说Nuitka效果很好,决定尝试一下。1、创建python≤3.8版本虚拟环境因为Anaconda自带的base虚拟环境中python版本3.10,于是在Anaconda Prompt下面使用:conda create -n gui python==3.7创...

    python教程 6 6个月前
  • Python打包成exe的几种方法

    方法一:pyinstaller1、打开CMD,安装pyinstaller模块,使用命令:pip install pyinstaller 等待完成,然后关闭cmd.2、在需要打包的py文件所在文件夹的地址栏清空后输入cmd,打开cmd,这时候cmd路径会变成当前文件夹路径3、输入命令:pyinstaller -F 打包的文件名...

    python教程 76 2年前
  • Nuitka打包工具使用教程

    1:准备工作安装 mingw-w64-gcc编译器(打包必需,Windows,其他系统可以忽略。),当然你用msvc也可以,这里我就使用mingw-w64-gcc了。 下载地址(安装及配置环境变量的过程略):https://winlibs.com/2:创建项目Windows:创建一个文件夹demo,打开cmd并进入demo目录后执行...

    python教程 134 1年前
最新更新