Linux系列之————安装虚拟环境

问题:在进行项目开发时,不同的项目使用同一个模块的版本可能不一样,所需依赖也可能不一样,如果都在全局环境开发,势必造成不可预测的错误,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 虚拟环境名称

猜你喜欢

转载自blog.csdn.net/qq_39148947/article/details/82428691