虚拟环境的作用
使python环境拥有独立的包,避免污染原本的python环境。为不同的项目创建不同的环境可以避免安装的库过于庞大和相互干扰。
例如你想在同一台机器上开发用python2和python3写的2个项目就可以用虚拟环境进行隔离,又网站开发、爬虫和科学计算所需要的包都不一样也可以用虚拟环境。
下面有几种虚拟环境管理工具自行选择
virtualenv
安装
代码语言:javascript复制pip install virtualenv
创建
代码语言:javascript复制mkdir myproject
cd myproject
virtualenv venv #不指定解释器会默认选择
virtualenv -p /usr/bin/python2.7 venv #指定python2.7解释器
virtualenv -p /usr/bin/python3.7 venv #指定python3.7解释器
使用
代码语言:javascript复制source venv/bin/activate #首先需要激活环境,之后安装的所有包就全在这个环境中
deactivate #当在这个环境中工作完后可以退出环境
rm -rf venv #当不再需要这个环境后进行删除
附上官方文档,https://virtualenv.pypa.io/en/latest/userguide/
virtualenvwrapper
你可以在系统的任意地方创建虚拟环境,当下次需要这个某个环境的时候很难找,virtualenv不便于对环境的集中管理,virtualenvwrapper很好的解决了这个问题
安装
代码语言:javascript复制pip install virtualenvwrapper
安装完成后的配置,修改~/.bash_profile
代码语言:javascript复制export WORKON_HOME=$HOME/envs #指定虚拟环境存放目录
source /usr/local/bin/virtualenvwrapper.sh
运行配置文件
代码语言:javascript复制source ~/.bash_profile
创建
代码语言:javascript复制mkvirtualenv py2 #不指定,使用默认
mkvirtualenv --python=/usr/local/python3.7/bin/python py3 指定解释器为3.7
mkvirtualenv -p python3.7 pynew 指定版本比较喜欢用这个
使用
代码语言:javascript复制workon #可以查看所有的虚拟环境
workon pynew 激活虚拟环境(workon 后面 虚拟环境名)
deactivate #退出虚拟环境
rmvirtualenv pynew (删除虚拟环境)
pipenv
安装
代码语言:javascript复制pip install pipenv
创建
代码语言:javascript复制mkdir myproject
cd myproject
pipenv install
pipenv --three #指定系统的python3版本解释器
pipenv --two #指定系统的python2版本解释器
pipenv --python3.7 #指定系统的python3.7版本解释器
使用
代码语言:javascript复制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/
创建
代码语言:javascript复制conda create --name py3 python=3.7
使用
代码语言:javascript复制conda env list #查看当前存在的虚拟环境
source activate py3 #激活虚拟环境 activate py3 windows下
conda install numpy #安装包
source deactivate #退出虚拟环境
conda remove -n py3 --all #删除虚拟环境