python虚拟环境管理之virtualenv,virtualenvwrapper,pipenv,conda

虚拟环境的作用

使python环境拥有独立的包,避免污染原本的python环境。为不同的项目创建不同的环境可以避免安装的库过于庞大和相互干扰。

例如你想在同一台机器上开发用python2和python3写的2个项目就可以用虚拟环境进行隔离,又网站开发、爬虫和科学计算所需要的包都不一样也可以用虚拟环境。

下面有几种虚拟环境管理工具自行选择

virtualenv

安装

pip install virtualenv

创建

mkdir myproject

cd myproject

virtualenv venv #不指定解释器会默认选择

virtualenv -p /usr/bin/python2.7 venv  #指定python2.7解释器

virtualenv -p /usr/bin/python3.7 venv  #指定python3.7解释器

使用

source venv/bin/activate #首先需要激活环境,之后安装的所有包就全在这个环境中

deactivate #当在这个环境中工作完后可以退出环境

rm -rf venv #当不再需要这个环境后进行删除

附上官方文档,https://virtualenv.pypa.io/en/latest/userguide/

virtualenvwrapper

你可以在系统的任意地方创建虚拟环境,当下次需要这个某个环境的时候很难找,virtualenv不便于对环境的集中管理,virtualenvwrapper很好的解决了这个问题

安装

pip install virtualenvwrapper 

安装完成后的配置,修改~/.bash_profile

export WORKON_HOME=$HOME/envs #指定虚拟环境存放目录

source /usr/local/bin/virtualenvwrapper.sh

运行配置文件

source ~/.bash_profile

创建

mkvirtualenv py2 #不指定,使用默认

mkvirtualenv --python=/usr/local/python3.7/bin/python py3 指定解释器为3.7

mkvirtualenv -p python3.7 pynew 指定版本比较喜欢用这个

使用

workon  #可以查看所有的虚拟环境

workon pynew 激活虚拟环境(workon 后面+虚拟环境名)

deactivate #退出虚拟环境

rmvirtualenv pynew (删除虚拟环境)

pipenv

安装

pip install pipenv 

创建

mkdir myproject

cd myproject

pipenv install

pipenv  --three #指定系统的python3版本解释器

pipenv --two #指定系统的python2版本解释器

pipenv --python3.7 #指定系统的python3.7版本解释器

使用

pipenv shell #激活虚拟环境

pipenv install numpy #安装包

pipenv uninstall numpy #卸载包

pipenv --where #显示环境路径

pipenv --venv #显示虚拟环境信息

pipenv --py #显示解释器信息

pipenv --rm #删除当前虚拟环境

exit #退出虚拟环境

conda

Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。

安装可以下载一个科学计算包anaconda,怕麻烦的人可以直接安装,自带很多必须包

清华镜像下载地址,https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

创建

conda create --name py3 python=3.7

使用

conda env list #查看当前存在的虚拟环境

source activate py3 #激活虚拟环境 activate py3 windows下

conda install numpy #安装包

source deactivate #退出虚拟环境

conda remove -n py3 --all #删除虚拟环境

 

转载于:https://www.cnblogs.com/jay-col/p/10373915.html

你可能感兴趣的:(python虚拟环境管理之virtualenv,virtualenvwrapper,pipenv,conda)