Anacodna
Anaconda是一个用于科学计算的Python发行版,主要提供了包管理和环境管理的功能。
- conda。是包管理与环境管理的工具,也可以理解为可执行命令。与pip的使用类似。conda将几乎所有的工具、第三方包都当做package对待,甚至包括python和conda自身。
- Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等。
安装
官网下载后直接安装即可。安装时会自动帮你写入环境变量。
PS:Linux/Mac写入~/.bashrc,等同于Windows添加到系统变量PATH。
这步也可以自己操作:
# 将anaconda的bin目录加入PATH
echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc
# 更新bashrc以立即生效
source ~/.bashrc
配置好之后通过conda --version
检查是否安装正确。接着可以通过python --version
检查python的版本的是否正确。
conda的环境管理
假如我们之前下载的Anaconda是2.7的版本,现在需要安装Python 3.6,我们可以进行如下操作:
# 创建一个名为python3的环境,指定Python版本是3.6以上的最新版
# 不用管是3.4.x,conda会为我们自动寻找3.4.x中的最新版本
conda create --name python3 python=3.6
# 安装好后,使用activate激活环境
activate python3 # for Windows
source activate python3 # for Linux & Mac
# 此时系统做的就是把系统环境中的2.7移除,改为3.6的路劲
# 回到默认环境
deactivate python3 # for Windows
source deactivate python3 # for Linux & Mac
# 删除一个已有的环境
conda remove --name python3 --all
这样我们可以得到一个纯净的Python3.6的环境。但是如果我有一些包需要安装,或者就是想弄一个和之前完全一样的Anaconda3的版本,该怎么办呢?
# 安装anaconda3
conda create --name python3 python=3.6 anaconda
# 预安装numpy的python3.6
conda create --name python3 python=3.6 numpy
# 创建一个名为myenv的环境,安装numpy包。Python版本为默认的2.7
conda create -n myenv numpy
# 克隆一个默认环境,命名为python_copy
conda create -n python_copy --clone root
安装测试完成,最后可以通过conda info -e
查看所有已经安装的环境。
conda的包管理
这部分功能和pip类似。
# 安装numpy
conda install numpy
# 安装anaconda
conda install anaconda
# 查找package信息
conda search numpy
# 更新package
conda update numpy
# 删除package
conda remove numpy
# 查看当前环境安装的packages
conda list
上述操作都是在默认的当前环境进行包管理,如果需要对特定的环境进行管理,可以加上环境名,例如:
conda install -n python3 numpy
conda update -n python3 numpy
conda remove -n python3 numpy
我们也可以使用conda来管理conda和python的版本,例如:
# 更新conda,保持conda最新
conda update conda
# 更新anaconda
conda update anaconda
# 更新python
# 假设当前环境是python 3.4, 则会升级为3.4.x的最新版本,不会升级到3.6
conda update python
设置镜像
由于服务器在国外,所以安装很多包的时候速度会很慢。这个时候我们可以使用清华TUNA镜像源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
同样在pip中也会遇到这个问题:
# 直接使用
pip install --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
# 配置修改
# linux下,修改 ~/.pip/pip.conf (没有就创建一个), 修改 index-url至tuna
# windows下,在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini
# 添加内容如下:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
virtualenv
这里需要特别说明,如果你是在Anaconda的环境下,那么你是没有办法创建虚拟环境的。可以更改环境变量,或者如果想重新安装Python,请参考Python安装。
安装virtualenv
pip install virtualenv
创建虚拟环境
# 创建了一个名为`myproject`的文件夹
mkdir myproject
cd myproject
# 创建虚拟环境venv
virtualenv --no-site-packages venv
命令virtualenv
就可以创建一个独立的Python运行环境,我们还加上了参数--no-site-packages
,这样,已经安装到系统Python环境中的所有第三方包都不会复制过来,这样,我们就得到了一个不带任何第三方包的“干净”的Python运行环境。
可使用 virtualenv --help
来查看如何使用。可以使用参数 --python=/usr/bin/python3
来创建一个已经安装的的Python环境。
激活虚拟环境
# linux
source venv/bin/activate
# Windows
venv\scripts\activate
会发现命令提示符变了,有个(venv)
前缀,表示当前环境是一个名为venv
的Python环境。
我们可以使用pip
安装各种第三方的包,而所有的包都只被安装到venv
的环境下,系统Python环境不受任何影响,退出该环境这些包就没用啦。
退出环境
deactivate
virtualenv
是如何创建“独立”的Python运行环境的呢?原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate
进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python
和pip
均指向当前的virtualenv环境。
Virtualenvwrapper
virtaulenvwrapper
是virtualenv的扩展包,用于更方便管理虚拟环境,它可以将所有虚拟环境整合在一个目录下,更方便的管理和切换虚拟环境。
安装方法
# 安装
pip install virtualenvwrapper
# 创建目录用来存放虚拟环境
mkdir ~/.virtualenvs
# 添加到环境变量
echo 'export WORKON_HOME=~/.virtualenvs' >> ~/.bashrc
# 路径是python的路径,默认是/usr/local/bin下
echo 'source /home/xxx/Python2.7/bin/virtualenvwrapper.sh'>> ~/.bashrc
# 更新
source ~/.bashrc
此时virtualenvwrapper
就可以使用了。值得注意的是virtualenv
创建的虚拟环境是不会在virtualenvwrapper上显示的。
使用方法
workon:列出虚拟环境列表
lsvirtualenv:同上
mkvirtualenv :新建虚拟环境
workon [虚拟环境名称]:切换虚拟环境
rmvirtualenv :删除虚拟环境
deactivate: 离开虚拟环境
更多请使用--help
查看。
网友评论