将py项目打包成exe文件
最近接手了一个任务,是修复一个已经离职了的同事的python代码BUG,代码修改好以后还需要打包成exe。
文章目录
I.打包工具:
1.Pyinstaller
[参考文章:pyinstaller打包项目]
安装Pyinstaller
: pip install pyinstaller
打包项目文件:pyinstaller -F <入口.py>
-F (大写)打包成可执行文件
-w (小写)不显示命令行窗口
自己写的模块不用额外导入,pyinstaller会自动导入使用到的模块
如果需要添加应用程序图标(需要ICON格式):
-i
例如:
pyinstaller -Fwi logo.ico main.py
打包成一个带icon图标不显示命令行窗口的应用程序
2.Nuitka
参考文章:Python打包启动慢问题解决方案
参考文章:《Nuitka打包教程》为程序添加图标
pyinstaller
打包出来的可执行文件每次运行启动时间非常长,而Nuitka
可以将Python源代码编译成C或C++代码并生成可执行文件。相对于使用Pyinstaller
打包,使用Nuitka
编译可以更加快速、更加稳定。
安装Nuitka
:pip install nuitka
打包项目文件:nuitka --standalone <入口.py>
带icon打包:nuitka --windows-icon-from-ico=
II.在虚拟环境下打包项目
[参考文章:解决pyinstaller打包文件过大]
如果本机安装了很多模块,使用pyinstaller的时候就会把已安装的模块都打包进去,因此要在虚拟环境里面安装pyinstaller,使用虚拟环境里面的pyinstaller打包,就不会打包多余的Model。
1.pycharm新建项目时添加虚拟环境
新建项目时可以快捷的添加虚拟环境,可以选择pipenv、Virtualenv和Conda
2.项目添加/修改虚拟环境
在File-Setting-Project:项目名里Project Interpreter可添加或者修改虚拟环境
3.使用pipenv踩到的坑:pipenv模块安装问题
如果你安装模块没有任何问题,可以无视这个部分
如果存在写入lock文件失败,可以参考一下我的解决方式:
安装以后写Lock文件失败,提示找不到模块,让我们确认是否能够连接源地址。
如果各位也出现了这种问题,可以尝试切换源
[参考文章:切换源]
然后我切换了清华的、豆瓣的、阿里的,都装不上这个模块╮(╯▽╰)╭
既然正常导入模块失败了,那我们只能试试骚操作了。
首先使用pipreqs生成项目的requirements.txt
pipreqs ./
注意,如果是windows系统需要添加参数:
pipreqs ./ --encoding=utf8
[参考文章:pipreqs使用方法]
然后使用pipenv安装依赖,如果还没有新建虚拟环境,那么把py项目和requirements.txt一同拷贝到准备安装虚拟环境的目录下,再执行pipenv install
pipenv会发现依赖文件并安装。
如果已经安装好虚拟环境了,那么可以使用命令来安装依赖pipenv install -r requirements.txt
希望可以帮到切换源也无法安装模块的小伙伴们
标签:
相关文章
-
无相关信息