使用Conda来管理Python包

Anaconda


       Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。里面的环境是分离开的,需要用到什么环境可以进行切换,如同虚拟机一样。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。

Anaconda的安装


尽量按照Anaconda默认的行为安装——不使用root权限,仅为个人安装,安装目录设置在个人主目录下(Windows就无所谓了)。这样的好处是,同一台机器上的不同用户完全可以安装、配置自己的Anaconda,不会互相影响。

对于Mac、Linux系统,Anaconda安装好后,实际上就是在主目录下多了个文件夹(/anaconda)而已,Windows会写入注册表。安装时,安装程序会把bin目录加入PATH(Linux/Mac写入/.bashrc,Windows添加到系统变量PATH),这些操作也完全可以自己完成。以Linux/Mac为例,安装完成后设置PATH的操作是

# 将anaconda的bin目录加入PATH,根据版本不同,也可能是~/anaconda3/bin
echo 'export PATH="~/anaconda3/bin:$PATH"' >> ~/.bashrc
# 更新bashrc以立即生效
source ~/.bashrc

配置好PATH后,可以通过which conda或conda --version命令检查是否正确。假如安装的是Python 2.7对应的版本,运行python --version或python -V可以得到Python 2.7.12 :: Anaconda 4.1.1 (64-bit),也说明该发行版默认的环境是Python 2.7。
###国内镜像的设置

# 添加Anaconda的TUNA镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

# 设置搜索时显示通道地址
conda config --set show_channel_urls yes

Ubuntu:

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2020.11-Linux-x86_64.sh
yes
/anaconda3/bin/conda init
source ~./bashrc

Conda环境

       在Conda下最重要的就是环境的管理,否则默认的情况下的安装都是基于默认环境的,默认环境的名字为root。如果我们要用到其他环境的python。需要自己创建。

#查看当前存在的环境
conda info --envs
# 创建一个名为python34的环境,指定Python版本是3.4(不用管3.4.x,conda会为我们自动寻找3.4.x中的最新版本) 
conda create --name python34 python=3.4

# 安装好后,使用activate激活某个环境 
activate python34 # for Windows 
source activate python34 # for Linux & Mac 
# 激活后,会发现terminal输入的地方多了python34的字样,实际上,此时系统做的事情就是把默认2.7环境从PATH中去除,再把3.4对应的命令加入PATH 

# 此时,再次输入 
python --version 
# 可以得到`Python 3.4.5 :: Anaconda 4.1.1 (64-bit)`,即系统已经切换到了3.4的环境 
# 如果想返回默认的python 2.7环境,运行 
deactivate python34 # for Windows 
source deactivate python34 # for Linux & Mac 

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

Conda包的管理

       在相应的环境中,运行

# 安装scipy 
conda install scipy 
# conda会从从远程搜索scipy的相关信息和依赖项目,对于python 3.4conda会同时安装numpy和mkl(运算加速的库) 

# 查看已经安装的packages 
conda list 
# 最新版的conda是从site-packages文件夹中搜索已经安装的包,不依赖pip,因此可以显示出通过各种方式安装的包

# 查看当前环境下已安装的包
conda list

# 查看某个指定环境的已安装包
conda list -n python34

# 查找package信息
conda search numpy

# 安装package
conda install -n python34 numpy
# 如果不用-n指定环境名称,则被安装在当前活跃环境
# 也可以通过-c指定通过某个channel安装

# 更新package
conda update -n python34 numpy

# 删除package
conda remove -n python34 numpy

# 更新conda,保持conda最新
conda update conda

# 更新anaconda
conda update anaconda

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

# 在当前环境下安装anaconda包集合
conda install anaconda

# 结合创建环境的命令,以上操作可以合并为
conda create -n python34 python=3.4 anaconda
# 也可以不用全部安装,根据需求安装自己需要的package即可

#若安装需from the conda-forge channel
conda install -c conda-forge packagename

Conda下环境的备份与还原

在当前环境下输入

conda env export > environment.yaml 

即可将当前的环境所包含的包保存在environment.yaml文件中
当再次创建该环境时,可输入以下命令:

conda env create -f environment.yaml

Conda中的.condarc文件设置

.condarc是在用户目录下,定义Conda相关配置的文件
channels下可以添加channel,以及国内的源

channels:
  - defaults

通过proxy_servers,可以对Conda设置代理

proxy_servers:
    http: http://127.0.0.1:8080
    https: https://127.0.0.1:8080

pip中定义永久的源

在python.exe的目录下,创建pip.ini,文件内容如下:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

即将pip安装的源定义到清华源

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值