在linux上配置虚拟环境时,出现了各种各样的错误,百度了好久才找到,百度上的对错误的解决都不全,所以决定自己总结下
什么是虚拟环境
虚拟环境是用于依赖项管理和项目隔离的Python工具,允许Python站点包(第三方库)安装在本地特定项目的隔离目录中,而不是全局安装(即作为系统范围内的Python的一部分)。
这听起来不错,但到底什么是虚拟环境呢?虚拟环境只是一个包含三个重要组件的目录:
- 安装了第三方库的site-packages /文件夹。
- 系统上安装的Python可执行文件的symlink符号链接
- 确保执行Python代码的脚本使用在给定虚拟环境中安装的Python解释器和站点包。
安装模块
需要使用到的模块有virtualenv和virtualenvwrapper,前者才是真正的虚拟环境的实现模块。后者是为了管理虚拟环境的,比如创建,删除虚拟环境,使用后者来就比较简单
# 顺序不能颠倒! # 我相信大家都是用python3吧,^_^ sudo pip3 install virtualenv sudo pip3 install virtualenvwrapper
一些相关配置
- virtualenv的配置
在安装好了后输入:virtualenv --verssion
,呵呵,我估计大家都是报错说没有virtualenv之类的 _ - 首先执行
find / -name virtualenv 2>/dev/null
来查看virtualenv的位置,如下,我的virtualenv在/usr/local/python3/bin/virtualenv(很明显这是一个可执行文件,因为放在了bin目录下),你们的可能不一样(具体看你们python是怎么安装的)。 - 然后将该文件链接到/usr/bin/virtualenv,如下:
virtualenvwrapper的配置
virtualenvwrapper里面有命令:
- lsvirtualenv: 列出虚拟环境列表
- workon+Enter: 列出虚拟环境列表
- mkvirtualenv [虚拟环境名称]: 新建虚拟环境
- workon [虚拟环境名称]: 切换虚拟环境
- rmvirtualenv [虚拟环境名称]: 删除虚拟环境
- deactivate: 离开虚拟环境
但当我们输入:lsvirtualenv
,发现又是找不到该命令,喵的,还是需要配置配置。
- 第一步:创建目录
mkdir ~/.virtualenvs
, 该目录是虚拟环境的默认存放位置 - 第二步:确定virtualenvwrapper.sh文件的路径,输入:
find / -name virtualenvwrapper.sh 2>/dev/null
,复制该路径
第三步:进入用户主目录,编辑.bashrc文件,添加如下代码:
export WORKON_HOME=$HOME/.virtualenvs #export PROJECT_HOME=$HOME/Devel VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source virtualenvwrapper.sh的路径
如果你的系统中既有python2还有python3,那么你还需要在.bashrc文件里加上这一行,并且要加在source /usr/local/python3/bin/virtualenvwrapper.sh之前。指明使用的版本,方正我的就报错了。VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3第四步:执行.bashrc文件,使其立即生效。source .bashrc,大功告成!