python anaconda 怎么安装

python anaconda 怎么安装,第1张

Anaconda的安装
Anaconda的下载页参见官网下载,Linux、Mac、Windows均支持。
安装时,会发现有两个不同版本的Anaconda,分别对应Python 27和Python 35,两个版本其实除了这点区别外其他都一样。后面我们会看到,安装哪个版本并不本质,因为通过环境管理,我们可以很方便地切换运行时的Python版本。(由于我常用的Python是27和34,因此倾向于直接安装Python 27对应的Anaconda)
下载后直接按照说明安装即可。这里想提醒一点:尽量按照Anaconda默认的行为安装——不使用root权限,仅为个人安装,安装目录设置在个人主目录下(Windows就无所谓了)。这样的好处是,同一台机器上的不同用户完全可以安装、配置自己的Anaconda,不会互相影响。
对于Mac、Linux系统,Anaconda安装好后,实际上就是在主目录下多了个文件夹(~/anaconda)而已,Windows会写入注册表。安装时,安装程序会把bin目录加入PATH(Linux/Mac写入~/bashrc,Windows添加到系统变量PATH),这些 *** 作也完全可以自己完成。以Linux/Mac为例,安装完成后设置PATH的 *** 作是
1
2
3
4
# 将anaconda的bin目录加入PATH,根据版本不同,也可能是~/anaconda3/bin
echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/bashrc
# 更新bashrc以立即生效
source ~/bashrc
配置好PATH后,可以通过which conda或conda --version命令检查是否正确。假如安装的是Python 27对应的版本,运行python --version或python -V可以得到Python 2712 :: Anaconda 411 (64-bit),也说明该发行版默认的环境是Python 27。
Conda的环境管理
Conda的环境管理功能允许我们同时安装若干不同版本的Python,并能自由切换。对于上述安装过程,假设我们采用的是Python 27对应的安装包,那么Python 27就是默认的环境(默认名字是root,注意这个root不是超级管理员的意思)。
假设我们需要安装Python 34,此时,我们需要做的 *** 作如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 创建一个名为python34的环境,指定Python版本是34(不用管是34x,conda会为我们自动寻找34x中的最新版本)
conda create --name python34 python=34
# 安装好后,使用activate激活某个环境
activate python34 # for Windows
source activate python34 # for Linux & Mac
# 激活后,会发现terminal输入的地方多了python34的字样,实际上,此时系统做的事情就是把默认27环境从PATH中去除,再把34对应的命令加入PATH
# 此时,再次输入
python --version
# 可以得到`Python 345 :: Anaconda 411 (64-bit)`,即系统已经切换到了34的环境
# 如果想返回默认的python 27环境,运行
deactivate python34 # for Windows
source deactivate python34 # for Linux & Mac
# 删除一个已有的环境
conda remove --name python34 --all
用户安装的不同python环境都会被放在目录~/anaconda/envs下,可以在命令中运行conda info -e查看已安装的环境,当前被激活的环境会显示有一个星号或者括号。
说明:有些用户可能经常使用python 34环境,因此直接把~/anaconda/envs/python34下面的bin或者Scripts加入PATH,去除anaconda对应的那个bin目录。这个办法,怎么说呢,也是可以的,但总觉得不是那么elegant……
如果直接按上面说的这么改PATH,你会发现conda命令又找不到了(当然找不到啦,因为conda在~/anaconda/bin里呢),这时候怎么办呢?方法有二:1 显式地给出conda的绝对地址 2 在python34环境中也安装conda工具(推荐)。
Conda的包管理
Conda的包管理就比较好理解了,这部分功能与pip类似。
例如,如果需要安装scipy:
1
2
3
4
5
6
7
# 安装scipy
conda install scipy
# conda会从从远程搜索scipy的相关信息和依赖项目,对于python 34,conda会同时安装numpy和mkl(运算加速的库)
# 查看已经安装的packages
conda list
# 最新版的conda是从site-packages文件夹中搜索已经安装的包,不依赖于pip,因此可以显示出通过各种方式安装的包
conda的一些常用 *** 作如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 查看当前环境下已安装的包
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、python等都视为package,因此,完全可以使用conda来管理conda和python的版本,例如
1
2
3
4
5
6
7
8
9
# 更新conda,保持conda最新
conda update conda
# 更新anaconda
conda update anaconda
# 更新python
conda update python
# 假设当前环境是python 34, conda会将python升级为34x系列的当前最新版本
补充:如果创建新的python环境,比如34,运行conda create -n python34 python=34之后,conda仅安装python 34相关的必须项,如python, pip等,如果希望该环境像默认环境那样,安装anaconda集合包,只需要:
1
2
3
4
5
6
# 在当前环境下安装anaconda包集合
conda install anaconda
# 结合创建环境的命令,以上 *** 作可以合并为
conda create -n python34 python=34 anaconda
# 也可以不用全部安装,根据需求安装自己需要的package即可
设置国内镜像
如果需要安装很多packages,你会发现conda下载的速度经常很慢,因为Anacondaorg的服务器在国外。所幸的是,清华TUNA镜像源有Anaconda仓库的镜像,我们将其加入conda的配置即可:
1
2
3
4
5
6
# 添加Anaconda的TUNA镜像
conda config --add channels
# TUNA的help中镜像地址加有引号,需要去掉
# 设置搜索时显示通道地址
conda config --set show_channel_urls yes
执行完上述命令后,会生成~/condarc(Linux/Mac)或C:UsersUSER_NAMEcondarc文件,记录着我们对conda的配置,直接手动创建、编辑该文件是相同的效果。

Anaconda具有跨平台、包管理、环境管理的特点,因此很适合快速在新的机器上部署Python环境。总结而言,整套安装、配置流程如下:
下载Anaconda、安装
配置PATH(bashrc或环境变量),更改TUNA镜像源
创建所需的不用版本的python环境
Just Try!

为啥要装在一个环境里呢,比如我256G固态的笔记本硬盘空间珍贵,比如实验室里公用的服务器一个人只允许新建一个conda虚拟环境,这里就是找到一个兼容的版本,也没啥好啰嗦的。
首先打开 nvidia-smi 确保右上角cuda版本大于 100 。

如果想找其它兼容的版本怎么弄呢?

先用nvidia-smi确定本机cuda版本,比如是 110

确保这两个 cudatoolkit 的版本 相同 并且 小于nvidia-smi显示的版本 应该就可以了。

再比如

本篇介绍如何让linux在不激活任何环境时,调用python命令直接使用到conda的某个子环境。

首先说明本篇文章的工作原由,以及踩过的坑。
在之前的工作中,一般进行python开发都会使用conda进行包管理,以达到隔离多个环境的目的。例如:

问题来了,在一些场景中,外部程序需要调用服务器上的api,又无法做出 conda activate 的命令,命令是直接使用 python xxxpy ,这时候只能使用linux自带的python命令,或者conda的base环境的python命令。所以需要将环境搭建在linux的python或者conda的base。搭建过程中,遇到的问题来自两个方面:

解决方法:将linux默认的python做软链接,链接到conda的子环境。

创建环境: conda create -n child_env python=36
切换环境: conda activate child_env
安装pytorch: conda install pytorch torchvision cudatoolkit=100
安装tensorflow: conda install tensorflow-gpu
安装其他包: conda install xxx,xxx,

先将老的链接备份: mv /usr/bin/python /usr/bin/python22
再做链接: ln -s /root/anaconda3/envs/child_env/bin/python3 /usr/bin/python
第一个路径需要改成自己的anaconda路径,child_env改成自己的环境名,第二个路径不用改。

先关掉conda环境: conda deactivate
再运行: python xxxpy

用这个方法,虽然解决了直接调用python命令的问题。但是引入了新的问题。

更换默认python版本


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10435236.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-08
下一篇 2023-05-08

发表评论

登录后才能评论

评论列表(0条)

保存