python虚拟环境的概念,配置和操作(pycharm为例)

一、虚拟环境的由来和概念

1.在PyCharm中创建python项目时,需要配置python的运行环境,除了使用系统现有环境以外,还可以创建虚拟环境。

2.虚拟环境的创建是因为在实际开发中需要同期用到不同版本的python解释器,不同的第三方库以及同一个第三方库的不同版本。因此需要创建虚拟环境将项目环境与其他环境(系统环境、其他虚拟环境)隔离。

3.如果入门学习,可以先不设置虚拟环境,使用系统环境。

4.PyCharm中虚拟环境的创建有三种方式,virtualen、conda和pipen。
在这里插入图片描述
5.virtualen可以想象成是将当前系统环境创建一个隔离副本,使用的解释器和你安装
的是同一个(复印件); conda是根据你的需要,选择特定的python版本,然后从网上下载相关版本,并创建一个与系统环境不一样的新的环境,使用的解释器也和你安装的不是同一个; pipen和virtualen类似,也是在现有系统环境的基础上创建一个副本,但是pipen使用Pipfile替代virtualen的requirements.txt来进行依赖管理,更加方便。
在这里插入图片描述
上面第一个勾选是继承全局的包
第二个勾选是让该环境可以继续应用于其他项目

二、常用配置操作

win+R,输入cmd回车进入命令行

切换盘符:

//进入d盘
D:
//进入F盘
F:

对目录的其他操作:

cd /?     //获取使用帮助

cd \       //跳转到硬盘的根目录

cd C:\WINDOWS  //跳转到当前硬盘的其他文件

d:        //跳转到其他硬盘

cd /d e:\software    //跳转到其他硬盘的其他文件夹,注意此处必须加/d参数。否则无法跳转。

cd..      //跳转到上一层目录

conda和pip管理包的常用操作

conda list //显示当前装有的依赖包

conda env list //显示当前装有的虚拟环境列表

conda activate xxx //进入xxx环境,后面打*号的是目前在的环境

pip show bayesian-optimization //查看bayesian-optimization的当前版本

pip show -f bayesian-optimization  //使用这个命令会输出 bayesian-optimization 包的所有信息,包括文件路径、依赖关系等。

pip install -U package_name  //pip更新package_name包

这里还有个很坑的点在于,powershell经常不显示当前环境,所以你也不知道当前的包装在哪个环境下,这里可以切换cmd来看到
powershell不显示当前环境名称
powershell不显示当前环境名称
切换cmd后可以看到环境的改变
切换cmd后可以看到环境的改变

请添加图片描述
vscode上的切换方法

三、进一步理解以及用我遇到的问题实例分析

以下ppt来自https://www.bilibili.com/video/BV1qE411u7N7,直观地解释了虚拟环境各种概念的关系
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

另外一个操作教学视频https://www.bilibili.com/video/BV1V7411n7CM
在这里插入图片描述

遇到过的问题

如果都装在同个虚拟环境下,版本会冲突,pip会自动卸载旧版本,装载当前包需要的版本,比如我就碰到过
在这里插入图片描述
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. torchvision 0.9.0 requires torch==1.8.0, but you have torch 1.13.1 which is incompatible. torchaudio 0.8.0 requires torch==1.8.0, but you have torch 1.13.1 which is incompatible. nevergrad 0.4.2.post5 requires bayesian-optimization>=1.2.0, but you have bayesian-optimization 1.1.0 which is incompatible.

这就是说,torchvision 0.9.0 需要 torch1.8.0,但是环境下安装的是 torch 1.13.1,所以这两个包之间存在不兼容的依赖。同样,torchaudio 0.8.0 也需要 torch1.8.0,但是环境下安装的是 torch 1.13.1,所以这两个包之间也存在不兼容的依赖。此外,nevergrad 0.4.2.post5 需要 bayesian-optimization>=1.2.0,但是安装的是 bayesian-optimization 1.1.0,所以它们之间也存在不兼容的依赖。

在这里插入图片描述
环境变量是从头开始查找,找到后就直接运行,
而虚拟环境终端的环境变量多了︰/虚拟环境路径/Scripts
这就导致终端先查到找虚拟环境的python,然后直接运行
python.exe(解释器)的位置定下来了,虚拟环境就定下来了

项目移植方法

项目移植到新计算机中时,可以从虚拟环境中导出某一个虚拟环境下下的所有包
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值