pycharm、conda虚拟环境以及python 解释器的含义

文章介绍了Python解释器的概念,以及conda和PyCharm中创建虚拟环境的区别。conda提供环境管理,其base环境独立于系统环境;PyCharm的虚拟环境主要用于项目隔离,避免包冲突。conda适合管理全局环境和库,而PyCharm虚拟环境适用于多项目需求,可以创建共享或独立的环境。
摘要由CSDN通过智能技术生成

前言

本文作于总结日记,一开始用conda创建虚拟环境然后再去pycharm创建虚拟环境的时候就很迷惑这其中的区别以及作用,找了网上的资料感觉也没有太说清楚,最终我自己做了一些尝试并且得到一些自我的理解即如下。

python解释器

要明白这些的区别,首先得先知道我们平时用的python的定义,一般我们说python是一门编程语言,而我们平时用的是它的解释器,其可粗略分为这两部分 python本体pip(包括一些库)

  • 官网下载的python是一个解释器
  • conda其中base环境本身包括一个解释器
  • pycharm创建的venv是一个基于某个base解释器的一个新的解释器(因为你可以在这个虚拟环境里安装新的包而不影响base解释器,它的库已经改变了,不是原本的解释器)

conda创建的虚拟环境

一般而言,我们会从python官网下载一个python,这个时候我们可以用命令行控制这个python下载库,我们(或者说是我以前认为)就认为这个是全局python,其实这只是一个解释器,但是它被加入了环境变量,换句话说,如果有另外一个python解释器,即conda里的,我们把它加入了环境变量,这样某种意义上,它也成为了我们的全局python。

而conda例如anaconda,它粗略地说可以是一个python的发行版,它自带了一些库,是一个已经被人修改过的python解释器,而conda的意义还不止如此,我们首先认为我们系统那个环境为系统环境,而conda本来它是一个环境管理工具,它自带一个base环境,但独立于我们的系统环境(因为没有添加环境变量,而conda也不建议加,在安装界面可以看到)。

pycharm环境设置问题

inherit 那个是 是否继承上个base 解释器的包,不继承的话就是几乎新的解释器,只有对应版本的python

available all project是 是否将现在这个虚拟环境作为一个新的base解释器 也就是在之后的base解释器之后可以选到

但其实它是首先新建了一个以base解释器为主的project
然后再新建一个以这个project的解释器为base解释器的project 相当于嵌套调用了base解释器

好处是 它其实是用base解释器为母本,然后之后的project可以修改它如果是直接使用它的解释器(use previous interpreter)的话,或者可以用它做虚拟环境,相当于复制一个base解释器当共享环境用,这样修改就不会影响到原来的base解释器。

使用方法

就conda创造的虚拟环境而言,其实它跟pycharm的虚拟环境没有太大区别,我更多理解它为一个概念问题,就是它相当于创建一个系统环境,而pycharm我是针对不同项目而创建的独立虚拟环境,所以安装新的一些库之类的我会使用conda,然后在pycharm针对不同项目创建虚拟环境。

而pycharm的虚拟环境设置的话就是如果你是单纯一个项目,其实虚拟与否问题不大,但是你多个项目的话,可以选择一个base解释器做虚拟环境,防止不同项目冲突,这是好习惯。而如果你考虑到有一些项目是共通的但又怕出错,可以选择新建虚拟环境再对所有项目可用,这样就可以创建一个新的以base解释器的共享环境而不用担心影响原来的base。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值