您现在的位置是:网站首页 > 博客日记 >

pyinstaller打包python代码

作者:YXN-python 阅读量:108 发布日期:2022-10-01

单文件打包

生成单个exe文件命令:

pyinstaller -F -w main.py -n now_name -i ico_url --clean
# 运行完之后,在目录下回生成‘dist’文件夹,里面存放的就是exe文件

其中:
-F 表示生成单个exe文件
-w 如果是GUI界面,会不弹出命令行cmd窗口
-n 指定生成exe的名称
-i 如果你的主程序没有图标,可使用此为生成的exe加载图标
--clean 在每次编译生成exe时,清除之前的编译文件

多文件打包

# 1、cmd进入到程序根目录
# 生成spec文件 main.py为主程序进口
pyi-makespec -F main.py -w -i logo.ico
​
# 运行上面语句会在根目录生成后缀为.spec的文件
# 2、在根目录新建文件夹res,将根目录所有配置文件复制一份到res中
# 3、修改spec文件的datas为
datas=[('res','.')]
​
# 4、打包
pyinstaller ytmusic.spec

常见报错

如果打包过程中出现导包报错 或 正常打包 但 程序运行缺少模块报错,可以修改spec文件的hiddenimports为:hiddenimports=['pypinyin']

多个模块可逗号隔开hiddenimports=['mutagen.id3','pymediainfo','pypinyin']

虚拟环境下通过pyinstaller 打包

# 1、在命令行(CMD)使用pip命令安装pipenv库,用于创建虚拟环境
pip install pipenv
​
# 采用调用国内镜像库安装:
pip install keras -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
​
# 2、新建一个准备当环境的文件夹,并cd进入该文件夹
# 3、建立虚拟环境
pipenv install
​
# 4、进入虚拟环境(以下操作皆为虚拟环境下的操作)
pipenv shell
​
# 5、安装.py文件用到的模块
pip install 【.py用到的模块】
​
# 6、安装pyinstaller模块,用于打包.py文件
pip install pyinstaller
​
# 7、使用pyinstaller打包文件
pyinstaller -Fw test.py(.py文件根据实际情况更改)
​
​
# 删除虚拟环境
# 先exit()退出虚拟环境,然后删除虚拟环境使用:
pipenv --rm
​
# 要删除虚拟环境,可以先卸载掉之前在虚拟环境中安装的库,既然都要删了,那库耶不用了。

 

py -m PyInstaller --noconsole -y -F -i ./logo.ico --clean -n remain .\main.py

YXN-python

2022-10-01