Anaconda介绍与使⽤中⽂版
Anaconda介绍
Anaconda
Anaconda 是⼀个基于Python的环境管理⼯具. 相⽐其他库管理⼯具,它更适合数据⼯作者。 在Anaconda的帮助下,你能够更容易地处理不同项⽬下对软件库甚⾄是Python版本的不同需求。
Anaconda 包含 conda, Python 和超过150个科学相关的软件库及其依赖。 Conda是⼀个包管理⼯具。Anaconda是⼀个⾮常⼤的软件,因为它包含了⾮常多的数据科学相关的库。 如果你并不需要如此⼤量的库,你可以只安装 Miniconda, ⼀个简化版,仅包含 conda 和Python。 然后你仍然可以安装其他所需的库。
在Conda环境下,你仅可以使⽤命令⾏,如果你对此不适应,可以看这个教学视频。 或者 。我就假设你们都会命令⾏吧:)
管理包
Installing numpy with conda
包管理⼯具⽤来在你的电脑上安装库和软件。 你应该已经对pip⽐较熟悉了,那是Python的默认的库管理⼯具。 Conda和pip很相似,只是它更关注与数据科学相关的库。 另外,Conda并不是只⽀持Python的, 它也⽀持⾮Python的库。它是个适⽤于任何软件库的包管理⼯具。 所以,也并不是所有Python库
都可以通过Anaconda获得。你仍然需要继续适⽤pip去安装其他的库。
Conda安装预编译过得库。 例如Anaconda适⽤MKL库编译 Numpy, Scipy and Scikit-learn并加速了⼀些数学操作。 所以所有库会有⼀些延迟,需要先做⼀些适配。
spyder python下载
环境
使⽤Conda创建环境
在管理包的同时,Anaconda也可以做环境管理。 这和 、 等⼀系列环境管理⼯具相似。
多个环境允许你分开和隔离你在不同项⽬中使⽤的软件和库。通常情况下,你需要在不同项⽬中使⽤⼀些库的不同版本。例如,你的某些代码需要⼀些Numpy新版本中的特性,但是另外的代码却需要⼀些只有旧版本才有的⽅法。 你不可能在你的电脑上装两个版本,也不愿留意为了运⾏程序和频繁更换版本。 所以,建⽴带有不同Numpy版本的环境是最佳选择。
同样的,对于使⽤Python 2和3版本的程序,环境管理同样适⽤。
你也可以导出你⽤到的库的清单,然后在其他环境中加载。Pip有使⽤类似的操作: pip freeze >
安装 Anaconda
如果你已经安装过Python,Anaconda的安装并不会破坏原有环境,但你在Anaconda的环境中将使⽤Anaconda默认的Python版本。(如果你在安装的时候勾选了将Anaconda的Python版本设为默认的话会影响外部环境。)
先下载Python 3版本,你之后依然可以安装Python 2.
你可以通过 conda list 命令来查看你已经安装过的软件包.
在 Windows 上
在 Anaconda 时会提供其他软件:
Anaconda Navigator, ⼀个GUI⼯具帮你管理包和环境
Anaconda Prompt, ⼀个terminal来进⾏交互(我们通常使⽤这个)
Spyder, ⼀个开源跨平台科学开发IDE
⾃带的库可能已经过时了,我们更新⼀下为了避免出错。打开 Anaconda Prompt ,在prompt, 执⾏:
conda upgrade conda
conda upgrade --all
如果询问是否要安装新库选“是”。
Note: 在之前的操作中, 执⾏ conda upgrade conda 不是必须的,因为 --all 包含了conda本⾝, 但是如果有的⽤户的Conda已经损坏了的坏可以尝试使⽤.
我们⽐较推荐⽤户熟悉Prompt⽽不是通过GUI来操作。
故障排除
如果在ZShell遇到 "conda command not found" , 那么先执⾏下列操作:
添加 export PATH="/Users/username/anaconda/bin:$PATH" 到你的 .zsh_config ⽂件.
管理包
⼀旦你装好了Anaconda,那安装库就很容易了。 需要安装时,直接输⼊ conda install 包名 就好. 例如, 如果需要安装 numpy, 输⼊ conda install numpy.
[conda_default_install](youtu.be/yave-K2Iius)
你可以同时安装多个包。 例如 conda install numpy scipy pandas 会同时安装。 也可以指定版本号,例如 conda install numpy=1.10.
Conda会⾃动安装依赖。例如, scipy 依赖于 numpy,。 如果你只安装 scipy (conda install scipy), Conda 会⾃动安装 numpy 如果之前没安装过。
如果需要删除,直接使⽤ conda remove 包名. 更新包 conda update package_name. 如果需要更新环境中所有库, conda update --all. 如果需要列出已安装软件, conda list.
如果你不知道确切的包名,可以⽤ conda search . 例如,我知道 Beautiful Soup,但不确定确切的包名,所以我尝试⽤ conda search beautifulsoup.
Searching for beautifulsoup
它返回了合适的包名:beautifulsoup4.
环境管理
像我之前提到的, conda可以使⽤ create environments 来隔离项⽬. 为了建项⽬ conda create -n 环境名包列表 . 这⾥-n 环境名 设置了你的环境名 (-n 代表name) 然后列出了你要安装的库. 例如,你要建⽴⼀个叫 my_env 的环境然后 install numpy , 输⼊ conda create -n
my_env numpy.
当创建环境的时候,你可以指明需要的Python版本。例如 conda create -n py3 python=3.3 或conda create -n py2 python=2。
进⼊环境
⼀旦环境建⽴, 在OSX/Linux中⽤ source activate my_env 进⼊环境. Windows上,⽤ activate my_env.
当你进⼊了环境,你可以看到环境名,如 (my_env) ~ $. 退出环境, 输⼊source deactivate (on OSX/Linux). Windows上, use deactivate.保存和载⼊环境
⼀个使⽤的功能是你可以分享你安装的软件列表给别⼈,然后执⾏代码安装。 你可以⽤⼀个YAML ⽂件来存储列表。conda env export > environment.yaml. 第⼀部分 conda env export 写出了现有库。
Exported environment printed to the terminal
当你在别的电脑上要导⼊时,只⽤通过yaml⽂件来创建环境就⾏了。 conda env create -f environment.yaml.列出环境
如果你忘记了环境名,可以⽤conda env list 来列出你需要的环境名。,默认环境叫 root.
删除环境
如果你有不需要的环境, conda env remove -n env_name 来删除 (here, named env_name).