virtualenv 基本使用文檔

簡介

首先來看一下 virtualenv 是個什麼東東?python

在使用Python開發的過程當中,工程一多,不免會碰到不一樣的工程依賴不一樣版本的庫的問題;亦或者是在開發過程當中不想讓物理環境裏充斥各類各樣的庫,引起將來的依賴災難。此時,咱們須要對於不一樣的工程使用不一樣的虛擬環境來保持開發環境以及宿主環境的清潔。這裏,就要隆重介紹 virtualenv,一個能夠幫助咱們管理不一樣 Python 環境的絕好工具。virtualenv 能夠在系統中創建多個不一樣而且相互不干擾的虛擬環境。另外,值得一提的是,在 virtualenv 的虛擬環境中使用 pip 安裝依賴還能夠繞過某些系統的權限設置,由於畢竟不須要向系統目錄寫入數據嘛~~web

安裝

首先從安裝講起,這裏假設已經安裝了 pip,若是沒有安裝 pip 的話,請自行安裝。安裝完成後就可使用pip安裝virtualenv 軟件shell

$ pip install virtualenv

ok,如今宿主機已經擁有了virtualenv虛擬環境管理器了django

使用

虛擬管理器環境有了,該怎麼使用呢?centos

好比如今咱們要利用Django框架開發一個web網站,咱們就把這個項目暫且叫作blog。由於咱們的宿主機自己已經安裝了Django1.6版本,可是咱們的web網站想要使用最新的Django1.10版本開發。app

假設咱們把項目放在/app/local/project/blog目錄下,而且這裏咱們把虛擬環境直接放在工程目錄下面。框架

So, 咱們開始建立咱們的一個虛擬環境吧。工具

$ virtualenv /app/local/project/blog

這樣,虛擬環境就已經建立好了。咱們能夠進入項目目錄下,看看到底建立了什麼鬼?咱們發如今項目目錄中自動建立了三個目錄bin、include、lib,這三個目錄裏面究竟是什麼東東呢?網站

  • bin 包含了一些在這個虛擬環境中可用的命令,以及開啓虛擬環境的腳步activate;
  • incloud 包含了虛擬環境中的頭文件,以及Python的頭文件
  • lib 包含了一些依賴庫

如今咱們進入到虛擬環境中吧!怎麼進去呢?一條命令便可激活!code

[root@centos02 blog]$ source /app/local/project/blog/bin/activate
(blog) [root@centos02 blog]$

此時是否發現,前面多了一個(blog) 的東東。這就說明咱們如今已經進入到blog虛擬環境中了,一個全新趕忙的python環境

而後咱們能夠在當前虛擬環境中安裝咱們的最新版本的Django了

(blog) [root@centos02 blog]$ pip install django
Collecting django
  Downloading 
  [...]
Installing collected packages: django
Successfully installed django-1.10.4
(blog) [root@centos02 blog]$

搞定了。

這樣再使用Django 就不會被宿主機的老版本干擾了。

完成工做了,該怎麼退出這個虛擬環境回到宿主機呢,So Easy! 一條命令就能搞定!

(blog) [root@centos02 blog]$ deactivate
[root@centos02 blog]$

看,前面的(blog)消失了,說明咱們已經回到了宿主機!

咱們每次要進入到指定虛擬環境,要必須知道虛擬環境所在的路徑,才能知道虛擬環境入口!此時確定會有人產生疑問了,假如我建立了多個虛擬環境,時間一長,忘記了每一個虛擬環境的路徑在哪裏,那豈不是。。。

沒錯,若是忘記了虛擬環境目錄,那就真的是找不到入口了。

聰明的人總會找到聰明的辦法。我把全部的虛擬環境都放在一個目錄中中,而且按照規則命名,那就確定不會找不到嘍!聰明,下面就要引入virtualenv的管理工具virtualenvwrapper

virtualenvwrapper將更便捷的管理虛擬環境,具體分析,請看下回

補充

如要須要刪除虛擬環境,直接刪除虛擬目錄中的binincloudlib這三個目錄就行了。

總結

上面囉嗦了這麼多,其實就幾條明天搞定的事,來總結一下吧!

  • 安裝virtualenv

    $ pip install virtualenv
  • 建立虛擬環境

    $ virtualenv /app/local/project/blog
  • 進入虛擬環境

    $ source /app/local/project/blog/bin/activate
  • 退出虛擬環境

    $ deactivate

基本使用就這麼多了,So Easy ~

相關文章
相關標籤/搜索