建立虚拟环境解决python打包exe文件过大的问题。

   日期:2020-09-23     浏览:620    评论:0    
核心提示:打包一般要用到cmd命令行,要求cmd能执行python程序。教程见链接:cmd执行python程序,文件夹直接进入cmd程序或者在anaconda的命令行里打包。原始打包教程,利用anaconda见链接:python打包成exe 可执行文件 。教程打包出来的文件,238M.原因是 anaconda里包含了太多我们不需要的包建立虚拟环境打包Pipenv 是一款管理虚拟环境的命令行软件,简单来讲,它可以创建一个只在某个目录下的局部 Python 环境,而这个环境是可以和全局环境脱离开的。

我们编写的程序可以发给其他小伙伴使用,但是其他小伙伴不一定安装有python。这时候就需要用到打包啦。打包可以将程序打包成exe文件。然后小伙伴在windows平台里就可以运行(无需python)。直接成了一款软件。

打包一般要用到cmd命令行,要求cmd能执行python程序。
教程见链接:
cmd执行python程序,文件夹直接进入cmd程序
或者在anaconda的命令行里打包。

原始打包教程,利用anaconda
见链接:
python打包成exe 可执行文件 。教程

打包出来的文件,238M.原因是 anaconda里包含了太多我们不需要的包

建立虚拟环境打包

Pipenv 是一款管理虚拟环境的命令行软件,简单来讲,它可以创建一个只在某个目录下的局部 Python 环境,而这个环境是可以和全局环境脱离开的。

步骤如下:

第一步:安装 Pipenv
安装 Pipenv,,此处可以在anaconda的 Anaconda Powershell Prompt 下安装

pip install pipenv

第二步:进入虚拟环境

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 命令之后包还存在。。我的解决方法是删除虚拟环境,然后重新进来时发现之前安装的包没有啦。这样我们可以进行下一次自定义安装库

附录:pipenv的常见使用命令

pipenv install :创建虚拟环境
pipenv shell :进入虚拟环境(如果不存在,则创建并进入虚拟环境)
pipenv install flask: 安装模块
pipenv uninstall flask :卸载模块
pipenv graph:查看模块之间的依赖关系
pip list:查看虚拟环境所有模块
exit() :退出虚拟环境
pip freeze > requirements.txt:导出虚拟环境所有依赖包名
pip install -r requirements.txt :安装项目所依赖全部模块
pipenv uninstall --all :卸载所有包
pipenv lock:生成lockfile
pipenv --rm: 删除虚拟环境
pipenv run python xxx.py: 虚拟环境运行python

常用pyinstaller 命令

  1. -i 给应用程序添加图标
  2. -F 指定打包后只生成一个exe格式的文件
  3. -D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)
  4. -c –console, –nowindowed 使用控制台,无界面(默认)
  5. -w –windowed, –noconsole 使用窗口,无控制台
  6. -p 添加搜索路径

如何打包资源文件见链接:
python将资源文件一起打包进exe 讲解(有算例)


电气工程的计算机萌新:余登武。写博文不容易。如果你觉得本文对你有用,请点个赞支持下,谢谢。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服