问题:在进行项目开发时,不同的项目使用同一个模块的版本可能不一样,所需依赖也可能不一样,如果都在全局环境开发,势必造成不可预测的错误,Python的虚拟环境可以使一个Python程序拥有独立的库library和解释器interpreter,而不用与其他Python程序共享统一个library和interpreter。虚拟环境的好处是避免了不同Python项目间的互相影响。
1,首次使用python环境需要安装 pip(python 的包管理工具)
sudo apt install python-pip : python2.7安装
sudo apt install python3-pip : python3.5安装
2,pip版本过低的话,请升级
pip install --upgrade pip
3,安装virtualenv
pip install virtualenv
或者
pip3 install virtualenv
4,可能出现问题:Could not get lock /var/lib/dpkg/lock
原因:apt还在运行,一旦我们运行了apt,锁定文件将会创建于
/var/lib/apt/lists/lock、/var/lib/dpkg/lock、/var/cache/apt/archives/lock中
解决:
方式一:重启虚拟机
方式二:
(1)找到apt相关进程,并kill掉(kill -9 对比 kill,kill -9 不会被进程阻塞)
ps afx|grep apt
sudo kill -9 进程id
(2)删除对应的锁定文件(查看错误提示)
sudo rm /var/lib/dpkg/lock
(3)强制重新配置软件包
sudo dpkg --configure -a
(4)更新软件包源文件
sudo apt update
5,我们可以使用了
(1)创建虚拟环境存放目录,切换到目录下
mkdir vir
cd vir
(2)创建虚拟环境 virtualenv -p python解释器 虚拟环境名
(3)切换到次虚拟环境下
source 虚拟环境名/bin/activate
(4)退出虚拟环境
deactivate
统一管理虚拟环境:virtualenvwrapper
1,安装管理软件
sudo easy_install virtualenvwrapper
2,创建虚拟环境管理目录(你创建的虚拟环境保存在这里)
其中$HOME 相当于 ~,也即使/home/用户名
mkdir $HOME/.local/virtualenvs
3,配置环境变量,使用命令编辑:vim ~/.bashrc,添加以下信息
export VIRTUALENV_USE_DISTRIBUTE=1 #总是使用 pip/distribute
export WORKON_HOME=$HOME/.local/virtualenvs #所有虚拟环境存储的目录
if [ -e $HOME/.local/bin/virtualenvwrapper.sh ];then
source $HOME/.local/bin/virtualenvwrapper.sh
else if [ -e /usr/local/bin/virtualenvwrapper.sh ];then
source /usr/local/bin/virtualenvwrapper.sh
fi
fi
export PIP_VIRTUALENV_BASE=$WORKON_HOME
export PIP_RESPECT_VIRTUALENV=true
4,刷新环境变量: source ~/.bashrc
5,启动虚拟环境管理
source /usr/local/bin/virtualenvwrapper.sh
6,可以使用了
(1)创建虚拟环境
mkvirtualenv -p 解释器目录 虚拟环境名称
(2)列出已有的虚拟环境
workon
(3)切换到某个虚拟环境
workon 虚拟环境名
(4)退出虚拟环境
deactivate
(5)删除某个虚拟环境
rmvirtualenv 虚拟环境名称