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

相關文章
相關標籤/搜索