自学python近3年,第一次这么认真地了解“python的虚拟环境“

目录

前言:一个真实的坑

在正式记录我学的python虚拟环境之前,我先给大家讲一下今早自己犯的错,让大家幸灾乐祸一下(这里应该有个插图,大笑~~~)。
很开心昨天晚上把客户的一项任务处理完了,只是打包时发现可执行文件有点大,100多M吧。入睡后总是梦见“还有优化手段,把可执行文件减小一些”之类的内容,晨起就开始动手:
1、重新建个项目(File–>New Project),保留原项目不动。我觉的自己真聪明,想到了在一个干净环境中再建一套,新环境一定只包含需要的包或模块,这样打包后不就小了吗?
在这里插入图片描述
干干净净,多好!

2、打开setting ,准备安装需要的包
在这里插入图片描述
咦,怎么这么多,好多是我在其他应用程序中用到的包或模块?
难道python有一个类似“母体”的解释器? 新建环境自带“母体”基因?
不管了,先删除那些确定不用的包再说。
手真快,一会儿删除完了!

3、因工作需要,打开另一个已做好的程序,准备修改一下上次。
天,什么情况,突然不能用了~~~

新手们,乐吧~~

这就是我为自己的认知错误买的单!

一、python虚拟环境的官方资料

Python文档教程–虚拟环境和包

二、我的实操过程记录

2.1 创建虚拟环境

-1、新建一个目录,用于存放自己的新建项目;
-2、打开cmd窗,并进入到新建目录所在路径:
-3、输入python -m venv myNew-env 其中 myNew-env根据自己的情况命名即可

在这里插入图片描述
-4、查看原文件夹,发现新建了一个子文件夹,其中包含Python解释器,标准库和各种支持文件的副本的目录,依次打开各主要子文件夹,包含内容如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 激活虚拟环境

-1、在cmd窗口中,进入\Scripts目录,输入activate.bat,回车,命令窗口变成了这样:
在这里插入图片描述
-2、输入python 再输入import sys
在这里插入图片描述

2.3 导入新的虚拟环境

某网友导入新虚拟环境的记录
在这里插入图片描述
此时,查看setting,才发现这是真的干净了:
在这里插入图片描述

三、虚拟环境与原环境的关联

3.1 两个环境没有关联

-1、各自独立安装自己的包,使用pycharm的用户,打开环境后,可以直接在setting中安装。
在这里插入图片描述

-2、特别说明一种情况:Terminal中pip install XXX 之怪像
有时候你会奇怪,你使用pip install XXX后,系统提示你已经安装过这个包中了,可你在setting列表中却仍然看不到这个包,而有时候使用Terminal以后,你能立即在setting列表中看到。什么情况?你和我以前一样懵了~~

这是因为你没有注意Terminal中的环境是真实环境还是虚拟环境。怎么看?和在cmd窗口中看是一样的,需要手动激活转到虚拟环境中,否则还会在真实环境下。
在这里插入图片描述

3.2 怎样快速复制两个环境中包

关于这一点很多人都想到了:新建一个虚拟环境,希望从真实环境或其他虚拟环境中导入已经安装过的模块或包,毕竟有时网络不给力,所有包都重新下载并安装会很耗时。
那么我们看看我们安装的包都放哪儿了?
我刚试着在新环境中pip install pyqt5
setting列表中就增加了以下内容:
在这里插入图片描述
对比刚安装完虚拟环境的截图,发现site-packages中增加了红框中的内容:

在这里插入图片描述
那么是不是安装的包或模块都会自动放到了site-packages中?
按这一思路,把真实环境的site-packages中的文件夹复制到虚拟环境中,是不是就可以在虚拟环境中直接引用了?
测试了一下,果真如此:

在这里插入图片描述
看到虚拟环境中多了一个pillow包。
在这里插入图片描述

【The End】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值