conda切换环境_Python多环境管理,你需要知道的⼏种⽅法
简介
如果你使⽤Python开发,对于不同的开发框架或应⽤肯定会有Python多版本共存的情况,此时Python多环境管理⼯具就可以帮你快速解
决此问题,以便将精⼒专注开发。
今天我们就来介绍下Python多环境管理的⼏种⼯具:
Anaconda
Virtualenv
Virtaulenvwrapper
通过对以上⼯具的讲解,你以后就再也不⽤担⼼Python多版本共存的问题了。
Anaconda
Anaconda多应⽤在科学计算中,但是它可以很⽅便的对各个Python环境进⾏切换;⽽且⾃动包管理器conda可以安装软件包的多个版本
和依赖。换句话说,我们可以使⽤conda命令安装各种Python⼯具,就像yum和pip⼀样⽅便。
1.安装部署
wget inuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh bash Miniconda2-latest-Linux-x86_64.sh #⾃动写⼊环境变量vim /root/.bashrc# adde
安装过程是交互的,安装路径为 /usr/local/miniconda2 。
注意:
1. 如果你已经安装了python环境,最好将conda的环境变量加在PATH最后,否则会优先使⽤/usr/local/miniconda2/bin下的
python命令,造成不必要的⿇烦。
2. conda包括完整版的anaconda和最⼩化版miniconda。anaconda包含720多个开源安装包,安装完成⾄少需要3G空间;
miniconda安装需要⼤约400M空间。我们使⽤miniconda就⾜够。
2.管理环境
(1)创建新的环境
conda create -n science numpy scipy matplotlib或conda create -n science -c mirrors.tuna.tsinghua.edu/anaconda/pkgs/free/ numpy scipy matplotlib或
通过以上命令都会创建⼀个名为science的环境,默认使⽤python2(若使⽤python3需要指定版本),并且安装numpy scipy matplotlib模
块。不过由于使⽤官⽅的安装源很慢,我们在此使⽤国内的清华安装源。
(2)查看当前所有环境
#环境列表conda info --envs# conda environments:#science              *  /usr/local/miniconda2/envs/scienceroot                    /usr/local/miniconda2#切换环境变量so
(3)删除环境
conda remove -n science_python3 --all
(4)添加国内安装源
conda config --add channels mirrors.tuna.tsinghua.edu/anaconda/pkgs/free/conda config --set show_channel_urls yes#查看配置conda config --show
Anaconda环境管理中除了使⽤conda来安装使⽤的python依赖包外,还可以使⽤pip,但是必须是“/usr/local/miniconda2”路径下
的,否则将会使⽤操作系统⾃动的python,安装的包并不会加载到Anaconda环境中。
Virtualenv
Virtaulenv的原理是把系统Python复制⼀份到Virtualenv的环境,⽤命令source venv/bin/activate进⼊⼀个virtualenv环境
时,virtualenv会修改相关环境变量,让命令Python和pip均指向当前的virtualenv环境。Virtaulenv相较于Anaconda,更多应⽤在开发
环境。
1.安装部署
pip install virtualenv 或 easy_install virtualenv
2.创建虚拟环境
[root@test:/virtual_protect]# mkdir /virtual_project[root@test:/virtual_protect]# cd virtual_project[root@test:/virtual_protect]# virtualenv venvNew python exe
virtualenv venv 命令将会在virtual_project⽬录中创建⼀个⽂件夹,包含了Python可执⾏⽂件,以及 pip 库的⼀份拷贝,这样就能安装
其他包了。
如果此时你的系统⾥有其他版本python,可以使⽤-p或–python参数来指定虚拟环境使⽤哪个版本的python,如下:
virtualenv -p /usr/local/python3 venv
3.启动虚拟环境
[root@test:/virtual_protect]# source venv/bin/activate(venv) [root@test:/virtual_protect]# pip listpip (8.1.2)setuptools (28.3.0)wheel (0.30.0a0)
登陆虚拟环境通过pip查看安装的包并没有系统⾃带python中安装的,这是因为virtualenv 运⾏时,默认⾃带–no-site-packages参数,
将不会包含系统⾃带python安装的包。我们可以通过使⽤–system-site-packages参数来使虚拟环境包含系统python安装的包。
还有⼀种⽅法可以使虚拟环境包含系统⾃动python安装的包:
#导出包到指定⽂件中pip freeze > #安装指定的包pip install -
4.退出虚拟环境
deactivate
对于Virtualenv来说并不会像Anaconda那样帮你安装其他版本的Python,它是依赖于你的操作系统已经安装的Python,在创建虚拟环境
时指定Python版本。
Virtaulenvwrapper
python默认安装路径Virtaulenvwrapper是Virtualenv的扩展包,⽤于更⽅便管理虚拟环境,它可以将将所有虚拟环境整合在⼀个⽬录下、管理(新增,删除,
复制)虚拟环境、切换虚拟环境等。
1.安装配置
#安装pip install virtualenvwrapper#创建⽬录⽤来存放虚拟环境mkdir /virtualenv_project#设置环境变量[root@test:~/virtual_protect]# vim ~/.bashrcexport WORKON_ 2.创建虚拟环境
[root@test:~/virtual_protect]# mkvirtualenv venv1New python executable in /root/virtualenv_project/venv1/bin/pythonInstalling setuptools, pip, done
其中mkvirtualenv命令类似与virtualenv命令,也可以通过-p、–no-site-packages、–system-site-packages等参数进⾏配置。
3.列出虚拟环境并切换
#列出当前的虚拟环境[root@test:~/virtual_protect]# lsvirtualenv -bvenv1venv2#切换虚拟环境 [root@test:~/virtual_protect]# workon venv1(venv1) [root@test:~/virtu 4.退出并删除虚拟环境
deactivatedeactivate
Virtaulenvwrapper只是是Virtualenv的扩展包,底层是需要和Virtualenv配合使⽤的,只不过使操作更简便些罢了。
总结
经过以上介绍,我们已经学会了Python的多环境管理,也了解了Anaconda、Virtualenv、Virtaulenvwrapper的⼯作⽅式及应⽤领域,
我们根据⾃⼰的实际情况按需选择。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。