Linux下安装python虚拟环境(virtualenv,vritulaenvwrapper)

一.virtualenv

virtualenv是如何建立“独立”的Python运行环境的呢?html

原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。python

linux提供的虚拟环境工具备virtualenv, pipenvlinux

#指定清华源下载pip的包
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
#升级pip工具
pip3 install --upgrade pip

<br/>shell

####1.安装python提供的虚拟环境django

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv

或者vim

pip3 install virtualenv

####2.建立虚拟环境安装的目录bash

mkdir Myproject
cd Myproject

####3.经过命令建立虚拟环境app

#建立一个干净隔离的虚拟环境,且以python3为复制本体,虚拟环境名叫作venv1
virtualenv --no-site-packages --python=python3  venv1   
	--no-site-packages  建立干净隔离的python虚拟环境
	--python=python3

####4.进入虚拟环境工具

source venv1/bin/activate

检查是否正确安装虚拟环境ui

#常看当前物理环境的path变量:
[root@localhost opt]# echo $PATH
/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin

#激活虚拟环境,再次查看环境变量
(venv1) [root@localhost bin]# echo $PATH
/opt/venv1/bin:/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin

#检查是否正确安装虚拟环境
(venv1) [root@localhost venv1]# which python3
/opt/venv1/bin/python3

(venv1) [root@localhost venv1]# which pip3
/opt/venv1/bin/pip3

(venv1) [root@localhost venv1]# pip3 list
Package    Version
---------- -------
pip        19.0.3 
pytz       2018.9 
setuptools 40.8.0 
wheel      0.33.1

####5.安装第三方包

(venv)Myproject: pip3 install django==2
#此时pip的包都会安装到venv环境下,venv是针对Myproject建立的

####6.退出虚拟环境,再检查python3解释器路径

deactivate

<br/>

如今要在linux中能够运行,其中运行一个django2,再同时运行一个django1

1.激活venv1 建立django1.11.14
	[root@wangdachui opt]# source   venv1/bin/activate
	
2.安装django
	pip3 install -i https://pypi.douban.com/simple  django==1.11.14

3.建立django项目 运行 
	django-admin startproject mydjango114
	
	
4.建立venv2,建立django2版本
	virtualenv --no-site-packages --python=python3     venv2 
	
	激活venv2
	source   venv2/bin/activate
	下载django2版本,且建立django2项目
	pip3 install -i https://pypi.douban.com/simple  django
	建立django项目 运行 
	django-admin startproject mydjango21
  1. 虚拟环境工具virtuelenv 必须 找到venv1那个文件夹

  2. 而且必须得手动source激活

二. virtualenvwrapper

virtualenv 的一个最大的缺点就是:

每次开启虚拟环境以前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就须要咱们记住每一个虚拟环境所在的目录。而且还有可能你忘记了虚拟环境放在哪。

  • 一种可行的解决方案是,将全部的虚拟环境目录全都集中起来,例如/opt/all_venv/,而且针对不一样的目录作不一样的事。
  • 使用virtualenvwrapper管理你的虚拟环境(virtualenv),其实就是统一管理虚拟环境的目录,而且省去了source的步骤。

####1.安装virtualenvwrapper

pip3 install virtualenvwrapper

####2.设置Linux环境变量, 每次启动就加载virtualenvwrapper

把下面两行代码添加到 ~/.bashrc文件中
打开文件
vim ~/.bashrc

写入如下四行代码
#设置virtualenv的统一管理目录
export WORKON_HOME=~/Envs   

#添加virtualenvwrapper的参数,生成干净隔绝的环境
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'   

#指定python解释器
export VIRTUALENVWRAPPER_PYTHON=/opt/python347/bin/python3     

#执行virtualenvwrapper安装脚本
source /opt/python34/bin/virtualenvwrapper.sh 

读取文件,使得生效,此时已经可使用virtalenvwrapper
source ~/.bashrc

####3.virtualwrapper基本使用命令

建立一个虚拟环境:
$ mkvirtualenv my_django115
这会在 ~/Envs 中建立 my_django115 文件夹。

在虚拟环境上工做:激活虚拟环境my_django115
$ workon my_django115

再建立一个新的虚拟环境
$ mkvirtualenv my_django2

virtualenvwrapper 提供环境名字的tab补全功能。
当有不少环境, 而且很难记住它们的名字时,这就显得颇有用。

workon还能够任意中止你当前的环境,能够在多个虚拟环境中来回切换

workon django1.15
workon django2.0

也能够手动中止虚拟环境
deactivate

删除虚拟环境,须要先退出虚拟环境
rmvirtualenv my_django115

####4.其余经常使用命令

#列举全部的环境。
lsvirtualenv

# 导航到当前激活的虚拟环境的目录中,好比说这样您就可以浏览它的 site-packages 。
cdvirtualenv

# 和上面的相似,可是是直接进入到 site-packages 目录中。
cdsitepackages

# 显示 site-packages 目录中的内容。
lssitepackages

完整官网介绍:https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html

相关文章
相关标签/搜索