Python环境管理——Anconda

下载安装

1、推荐使用清华的镜像

2、注意:
安装目录最好不要有空格;安装选项是否把Anaconda加入环境变量的选项上打勾,推荐打勾,如果不打勾可以再安装以后将对应的环境变量添加上去

3、验证:
安装好了以后,可以在cmd中输入Python,发现显示的还是你之前安装的版本,像我的就是Python3.6,这是因为你之前安装Python3,6的时候,是将它的安装目录添加到了环境变量中的。在系统环境变量中找到对应之前安装Python的路径并删除。若安装时勾选了卸载旧版本则会显示conda自带的对应版本的python。
输入conda --version 会有对应版本号及安装完成。

Conda的环境管理

Conda的环境管理功能允许我们同时安装若干不同版本的Python,并能自由切换。
对于上述安装过程,假设我们采用的是Python 3.7对应的conda安装包(指的是Anconda在安装时会自动给我们安装的那个python版本),那么Python3.7就是默认的环境(默认虚拟环境名字是root,注意这个root不是超级管理员的意思)。
假设我们需要安装Python 3.8,此时,我们需要做的操作如下:

conda info --envs

# 创建 Python38 的虚拟环境
conda create --name python38 python=3.8		# python27 为虚拟环境名称
activate python38	# 进入虚拟环境


# 激活后,会发现terminal输入的地方多了python38的字样,实际上,此时系统做的事情就是把默认3.7环境从PATH中去除,再把3.8对应的命令加入PATH 
# 此时,再次输入 python --version 可以得到`Python 3.8.5 :: Anaconda 4.1.1 (64-bit)`,即系统已经切换到了3.8的环境 

# 如果想返回默认的python 3.7环境,运行 
deactivate python38	# 退出虚拟环境

# 删除一个已有的环境 
conda remove --name python38 --all 


# 另外:用户安装的不同python环境都会被放在目录~/anaconda/envs下,可以在命令中运行
conda info -e
#查看已安装的环境,当前被激活的环境会显示有一个星号或者括号。


#其他环境管理命令
conda config ?	# 查看可以使用的命令
conda config --show	# 查看 channels 等信息
conda remove -n env_name --all	# 删除虚拟环境

Conda的包管理

Conda的包管理就比较好理解了,这部分功能与pip类似。

# 安装scipy 
 conda install scipy 
            
# conda会从从远程搜索scipy的相关信息和依赖项目,相对于当前环境匹配版本的包,conda会同时安装numpy和mkl(运算加速的库)等此包依赖的包。

#其他            
conda list	# 查看已经安装的包
conda list -n python38	# 查看指定环境已安装的包
conda search numpy	# 查看 package 信息
conda update -n python34 numpy # 更新package 
conda remove -n python34 numpy # 删除package 
# 安装package conda install -n python34 numpy 
# 如果不用-n指定环境名称,则被安装在当前活跃环境 
# 也可以通过-c指定通过某个channel安装             
 
#最新版的conda是从site-packages文件夹中搜索已经安装的包,不依赖于pip,因此可以显示出通过各种方式安装的包 



前面已经提到,conda将conda、python等都视为package,因此,完全可以使用conda来管理conda和python的版本,例如

 # 更新conda,保持conda最新 
conda update conda 
 # 更新anaconda 
conda update anaconda 
# 更新python 
conda update python 
# 假设当前环境是python 3.4, conda会将python升级为3.4.x系列的当前最新版本   

补充:conda创建新的python环境仅安装python相关的必须项,如python, pip等,如果希望该环境像默认环境那样,安装anaconda集合包(即把默认版本当做母本)需要:

# 在当前环境下安装anaconda包集合 
conda install anaconda 
# 结合创建环境的命令,以上操作可以合并为 
conda create -n python34 python=3.4 anaconda           

设置国内镜像

# 给 conda 添加镜像地址
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn或https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ 
 # 设置搜索时显示通道地址 
conda config --set show_channel_urls yes
conda config --remove channels defaults

执行完上述命令后,会生成 ~/.condarc(Linux/Mac)或 C:UsersUSER_NAME.condarc文件,记录着我们对conda的配置,直接手动创建、编辑该文件是相同的效果。

pycharm关联anaconda所创建虚拟环境的python解释器

如下图所示,如果我们选择new environment using,便会创建一个新的虚拟环境,这里,我们选择previously configured interpreter(目前配置的解释器)
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这时,我们在终端pip install 和conda Install安装包都会安装在anaconda所创建的环境中。(当然我们可以根据自身需求使用conda创建多个python环境,pycharm新建新的项目重新添加想要的某个环境的python解释器便可)

conda安装原理

1.先下载:下载到xxxxxx\anaconda\pkgs
2.再安装,安装到环境文件夹中xxxxxxx\anaconda\envs
所以我们在使用conda uninstall 安装包时,只会卸载当前环境的包,并不会影响其它环境,同时如果卸载后重新安装包时,便会从pkgs文件夹中获取压缩文件,无需重新下载(比如像pytorch大的安装包时重新下载便会浪费太多时间[建议conda install 某些大的安装包时,使用某些vpn选择国外节点下载会快一点])

pip与conda安装对比
1.pip安装不会安装所有的依赖项只会安装部分依赖项,而conda会安装全部;
2.pip与conda不会重复安装已经安装的依赖。
3.pip不会告诉你都安装了什么,conda会
4.pip安装的内容不会显示在anaconda navigation的环境中,conda会。
5.conda下载安装包位置xxxxx\anaconda\pkgs
6.conda list后面如果显示为说明是pip安装,不会显示在环境之中

pip的确是python官方推荐的Python软件包安装管理工具,在安装Python软件包时,第一反应应该是pip。正是由于pip是Python官方推荐的“正统”工具,所以pip只专注于Python软件包之间的依赖,不考虑Python软件包与非Python软件包之间的依赖关系。
而Tensorflow和Pytorch等不仅依赖于Python软件包,还依赖于非Python软件包,如cudatoolkit、cudnn、cuda、interl-openmp、intel-MKL及protoc等。
conda在安装Tensorflow时,会同时解决TensorFlow所依赖的Python软件包和非Python软件包的问题,让安装变得简单。

参考

[1]: https://zhuanlan.zhihu.com/p/25198543
[2]: accumulate_zhang
[3]: https://www.cnblogs.com/midworld/p/13423043.html
[4]: http://adrai.github.io/flowchart.js/

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值