简介
python 的虚拟环境可以为一个 python 项目提供独立的解释环境、依赖包等资源,既能够很好的隔离不同项目使用不同 python 版本带来的冲突,而且还能方便项目的发布。
virtualenv
安装
python3
pip3 install virtualenv
python2
pip install virtualenv
创建虚拟环境
virtualenv -p python版本 虚拟环境名称
-p 参数是可选的,表示指定本机的python版本
如 virtualenv -p python3 beardata
如果不想使用系统自带的包,则可以加上 -no-site-packages 参数
如 virtualenv -no-site-packages 虚拟环境名称
激活环境
source 虚拟环境名称/bin/activate
如 source beardata/bin/activate
退出虚拟环境
deactivate
删除虚拟环境
直接删除 虚拟环境文件夹
virtualenvwrapper
virtualenvwrapper是virtualenv的扩展包,用于更方便的管理虚拟环境,主要包括:将所有虚拟环境整合在一个目录下;管理虚拟环境(增删改查);快速切换虚拟环境。安装
python2
pip install --user virtualenvwrapper
python3
pip3 install --user virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
VIRTUALENVWRAPPER_PYTHON=/usr/local/python3.5.7/bin/python3
source /usr/local/python3.5.7/bin/virtualenvwrapper.sh
source ~/.bashrc
注:如果此处出现如下错误
执行
pip3 install --upgrade setuptools
python3 -m pip install --upgrade pip
创建虚拟环境
mkvirtualenv --python=python版本 虚拟环境名称
如 mkvirtualenv --python=python3.7 beardata
激活虚拟环境
workon
列出所有虚拟环境
workon 虚拟环境名称
切换虚拟环境
如 workon beardata
退出虚拟环境
deactivate
删除虚拟环境
rmvirtualenv 虚拟环境名称
如 rmvirtualenv beardata
常用命令
查看当前虚拟环境中的安装包
pip3 freeze
创建requirements.txt,其中包含了当前环境中所有包及 各自的版本的简单列表
pip3 install -r requirements.txt
pip3 freeze > requirements.txt
列举所有虚拟环境
lsvirtualenv
切到当前激活的虚拟环境的目录中,相当于pushd 目录
cdvirtualenv
进入到 site-packages 目录
cdsitepackages
显示 site-packages 目录中的内容
lssitepackages
conda
conda可以直接创建不同python版本的虚拟环境。前面讲的virtualenv只是指定创建不同python版本的虚拟环境,前提是你的电脑上已经安装了不同版本的python,与conda相比没有conda灵活。安装
官网下载地址
https://docs.conda.io/en/latest/miniconda.html#linux-installers
修改可执行权限
chmod +x Miniconda3-latest-Linux-x86_64.sh
运行
./Miniconda3-latest-Linux-x86_64.sh
中间需要输入安装路径,并且该路径不能存在
输入指定路径
创建虚拟环境
进入安装路径的 bin目录并执行
. ./activate
conda create -n 虚拟环境名 python=版本
如 conda create -n beardata python=3.5(大版本号)
激活虚拟环境
conda activate 虚拟环境名
如 conda activate beardata
退出虚拟环境
conda deactivate
删除虚拟环境
conda remove --name 虚拟环境名 --all
如 conda remove --name beardata --all
删除conda
删除conda目录
rm -rf 安装时指定的目录
删除 ./.bashrc中conda相关东西
常用命令
查看系统中的虚拟环境
conda info -e
conda env list
查看当前环境下已安装的
conda list
查看某个指定环境的安装包
conda list -n 虚拟环境名
查找package信息
conda search 包名
安装package
conda install -n 虚拟环境名 包名
更新package
conda update -n 虚拟环境名 包名
删除package
conda remove -n 虚拟环境名 包名
注:conda修改为国内源
conda config --show-sources
添加清华源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
重新查看
conda config --show-sources
pipenv
pipenv是Python官方推荐的包管理工具。 它综合了 virtualenv , pip 和 pyenv 三者的功能。能够自动为项目创建和管理虚拟环境。如果你使用过requests库,就一定会爱上这个库,因为是同一个大神出品。 pipenv使用 Pipfile 和 Pipfile.lock 来管理依赖包,并且在使用pipenv添加或删除包时,自动维护 Pipfile 文件,同时生成 Pipfile.lock 来锁定安装包的版本和依赖信息,避免构建错误。相比pip需要手动维护requirements.txt 中的安装包和版本,具有很大的进步。安装
pip3 install pipenv
创建虚拟环境
cd 项目
创建虚拟环境
pipenv install
安装库
pipenv install 包名
激活pipeenv shell
pipenv shell
python --version