文章目录
本篇文章介绍的是虚拟环境的安装。
0、简介
(1)什么是虚拟环境
虚拟环境就是借助虚拟机来把一部分内容独立出来,我们把这部分独立出来的东西称作“容器”,在这个容器中,我们可以只安装我们需要的依赖包,各个容器之间互相隔离,互不影响。
(2)为什么使用虚拟环境
在实际项目开发中,我们通常会根据自己的需求去下载各种相应的函数包,如Pytorch,Numpy等,但是可能每个项目使用的函数包并不一样,或使用包的版本不一样,这样需要我们根据需求不断的更新或卸载相应的库。直接对我们的Python环境操作会让我们的开发环境和项目造成很多不必要的麻烦,管理也相当混乱。
一、虚拟环境的创建
(0)Base环境前提
所谓的虚拟环境是依赖于现有环境的。举个例子,假设现有的环境是python3.5,你想要安装一个python3.6的环境,则需要安装一个python3.6 才可以创建相关的环境。
1)Ubuntu安装python3.6
2)python版本管理包 – Pyenv
(1)Anaconda创建虚拟环境
提到虚拟环境,相信大家首先想到的就是Anaconda
,但是由于Anaconda实在是太大了。
(2)virtualenv创建虚拟环境
本篇博客推荐一个轻量的虚拟环境工具包。
- 一共只需要执行以下四步
1)virtualenv安装
pip3 install virtualenv
踩过的坑:
(1) 最好不要使用 sudo pip install virtualenv
因为使用sudo
命令之后,可能会报错bash: /home/jankin/.local/bin/virtualenv: 没有那个文件或目录
也就是找不到virtualenv
修改策略:卸载这边包,重新安装一下(不要使用sudo)
2)设置软链接(可以不执行)
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
3)创建环境
- 如果你使用
--system-site-packages
参数创建虚拟环境,你创建的虚拟环境会继承 /usr/local/python3/lib/python3.5/site-packages
virtualenv --system-site-packages --python=/usr/bin/python3 env3
- 使用
--no-site-packages
参数建立虚拟环境,虚拟环境不会依赖系统环境中的 sit package
virtualenv --no-site-packages [虚拟环境名称] ---- 版本在 20 之前
virtualenv [虚拟环境名称] ---- 版本在 20 之后
如果报错
virtualenv: error: unrecognized arguments: --no-site-packages
产生错误的原因是virtualenv的版本不对
处理策略:pip install --upgrade virtualenv==16.7.9
因为从版本 20 开始,默认就是--no-site-packages
了
-
--python
指定python的相关信息
–python=python3 -
--prompt=PROMPT
可以为创建的虚拟环境指定提示前缀:
virtualenv --prompt="测试" env3
- 创建的环境里面包含三个文件
- env3/lib 和 env3/include 目录中包含了虚拟环境ENV使用的库文件。
在虚拟环境中安装的第三方包会安装在 ENV/lib/python3.5/site-packages 目录下。- env3/bin 目录里面放置了可执行文件,在里面有新安装的Python 包中的可执行程序,包括pip等相关工具。
4)使环境生效
执行下面的语句
source ./env3/bin/activate
5) 退出虚拟环境
deactivate #使用公共环境
6) 删除虚拟环境
要删除一个虚拟环境,只需删除它的文件夹
温馨提示
大家在虚拟环境中安装包的时候,可能会和本地的包冲突,这样的话,去掉sudo
命令就行了。
**可能出现的问题
问题一:权限不足
- 若是直接使用
sudo
,则会直接安装在环境之外(也就是本地) - 解决方法如下所示:
which python
# 输出 /home/jankin/env/python
sudo /home/jankin/env/python -m pip install lmdb
'''
python -m意思是将库中的python模块当脚本执行
'''
大家如果有什么想补充的可以联系我
有什么想知道的也可以联系我,我学习,整理
二、虚拟环境管理工具virtualenvwrapper
2.1 简介
鉴于virtualenv不便于对虚拟环境集中管理,所以推荐直接使用virtualenvwrapper。 virtualenvwrapper提供了一系列命令使得和虚拟环境工作变得便利。它把你所有的虚拟环境都放在一个地方。
2.2 安装教程
2.2.1 在ubuntu下安装
- 首先确保virtualenv已安装
- 执行以下命令
pip install virtualenvwrapper
pip install virtualenvwrapper-win #Windows使用该命令
安装完成后,在~/.bashrc写入以下内容
export WORKON_HOME=~/Envs
source /usr/local/bin/virtualenvwrapper.sh
第一行:virtualenvwrapper存放虚拟环境目录
第二行:virtrualenvwrapper会安装到python的bin目录下,所以该路径是python安装目录下bin/virtualenvwrapper.sh
source ~/.bashrc #读入配置文件,立即生效
2.3 基本使用
- 列出所有虚拟环境 workon
- 创建基本环境 mkvirtualenv [环境名]
- 激活环境 workon [环境名]
- 退出环境 deactivate [环境名]
- 删除环境 rmvirtualenv [环境名]