Python的虚拟环境和打包后EXE文件过大

自己写了一个小程序,使用Pyinstaller打包后EXE文件过大(300M)。搜索后讲是conda会把已经安装,但不使用的包(库)都传给Pyinstaller,Pyinstaller进行了无差别打包。解决方法是新建虚拟环境,在虚拟环境中只安装要使用的包(库),在虚拟环境中使用Pyinstaller打包。

但网上Python的虚拟环境教程不太适合小白。一顿操作下来,写写自己的东西。

一、常用的虚拟环境工具。

1、Virtualenv系列:virtualenvwrapper-win

Virtualenv只会复制本机中,已安装了的Python版本,生成新的虚拟环境。如果想使用不同版本的Python,就要安装多个不同Python。除主Python外,在安装其他版本的Python时,不要勾选“Add python to Path”。

2、conda

conda可以使用命令,控制Python版本,回车后他会自动下载相应版本的Python.exe。暂时不讲。

总结:开发时不要使用直接安装在本机的环境,新建虚拟环境后,再安装相应的包(库)再进行开发。

二、虚拟环境结构图

1、只安装有一个Python版本的情况:

因为只安装了一个Python版本,所以创建的虚拟环境也只能是这个Python版本,不存在安装了3.7,却想创建3.9的虚拟环境。

激活虚拟环境后,使用PIP安装某个包,这个包只在这个虚拟环境有效,所以安装包时一个要注意虚拟环境是否激活。

2、安装有多个Python版本的情况:

以上安装了3.7和3.9两个Python版本,所以创建的虚拟环境也只能是3.7或3.9。

使用virtualenvwrapper-win创建虚拟环境里要加一个--python=命令,等于后是本机的Python的某个版本的Python.exe。如:

mkvirtualenv 环境名称 --python=g:\python39\python.exe

三、virtualenvwrapper-win常用命令
创建虚拟环境 mkvirtualenv test1(虚拟环境名称)
选择一个python解释器来搭建:mkvirtualenv env --python=d:\python38\python.exe
查看虚拟环境 lsvirtualenv或者workon
进入虚拟环境 workon test1(虚拟环境名称)
退出虚拟环境 deactivate
删除虚拟环境rmvirtualenv test1(虚拟环境名称)
查看虚拟环境下的安装包 pip list

四、打包注意

一定要注意虚拟环境是否激活。特别是IDE开发时,IDE的运行和调试环境可能是你设置的环境,但IDE中的“终端”窗口中的环境就不一定了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值