使用pipenv建立虚拟环境解决python打包exe文件过大的问题(附打包带图标,多个py文件打包exe) |
您所在的位置:网站首页 › python文件导出exe › 使用pipenv建立虚拟环境解决python打包exe文件过大的问题(附打包带图标,多个py文件打包exe) |
我们编写的程序可以发给其他小伙伴使用,但是其他小伙伴不一定安装有python。这时候就需要用到打包啦。打包可以将程序打包成exe文件。然后小伙伴在windows平台里就可以运行(无需python)。直接成了一款软件。 打包一般要用到cmd命令行,要求cmd能执行python程序。 教程见链接: cmd执行python程序,文件夹直接进入cmd程序 或者在anaconda的命令行里打包。 原始打包教程,利用anaconda 见链接: python打包成exe 可执行文件 。教程 打包出来的文件,238M.原因是 anaconda里包含了太多我们不需要的包 ![]() Pipenv 是一款管理虚拟环境的命令行软件,简单来讲,它可以创建一个只在某个目录下的局部 Python 环境,而这个环境是可以和全局环境脱离开的。 步骤如下: 第一步:安装 Pipenv 安装 Pipenv,,此处可以在anaconda的 Anaconda Powershell Prompt 下安装 ![]() 第二步:进入虚拟环境 pipenv shell由图中发现,进入虚拟环境前后CMD行还是有区别的,虚拟环境第二个红色圈比第一个红色圈,在前面多几个英文字母 第三步:安装依赖的库 在虚拟环境下安装 Pyinstaller 和你自己的脚本依赖的第三方库 比如我的是 pipenv install pyinstaller pipenv install opencv-python这一部分安装库之前忘啦截图,原谅。 第四步:查看安装的库有哪些 如果你这时候使用命令 pip list 并发现里面只有很少的库,这就说明我们成功进入虚拟环境了 虚拟环境应该可以删除库吧。指令类似pipenv uninstall 库 第五步:打包 打包之前必须先把程序复制到cmd工程目录下。 我的工程目录是C:\Users\Shineion\ 打包命令有很多,如打包单一程序,多程序,带图标…。 最简单的 pyinstaller -F xx.py![]() 结果exe在工程目录下的dist文件里 这次只有50多M,原先的238m exe可以运行 注意事项:下次使用虚拟环境时可以直接进入,上次在虚拟环境安装的包仍然存在,无需重复安装一些包 我遇到的问题是pipenv有时无法删除库 ,有时使用pipenv uninstall 删除命令之后包还存在。。我的解决方法是删除虚拟环境,然后重新进来时发现之前安装的包没有啦。这样我们可以进行下一次自定义安装库 控制台指打包出来类似cmd的黑色窗口。 pyinstaller -F -w -i bitbug_favicon.ico hm_004.py-w:不显示控制台 -i:图标 结果;有图标 图标在线转换网站: http://www.bitbug.net/ 原始程序 这个代码是网上借鉴别人的。自己一时懒得写代码。 cmmd.py from time import sleep from hello import show def main(): count = 1 while count requirements.txt:导出虚拟环境所有依赖包名 pip install -r requirements.txt :安装项目所依赖全部模块 pipenv uninstall --all :卸载所有包 pipenv lock:生成lockfile pipenv --rm: 删除虚拟环境 pipenv run python xxx.py: 虚拟环境运行python常用pyinstaller 命令 -i 给应用程序添加图标-F 指定打包后只生成一个exe格式的文件-D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)-c –console, –nowindowed 使用控制台,无界面(默认)-w –windowed, –noconsole 使用窗口,无控制台-p 添加搜索路径如何打包资源文件见链接: python将资源文件一起打包进exe 讲解(有算例) sklearn模型打包讲解 python打包exe 之打包sklearn模型中的各种坑及其解决方法。 本文使用的pipenv来管理虚拟环境,还可以使用anaconda来管理虚拟环境。 anaconda虚拟环境教程大全
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |