本節書摘來異步社群《python資料可視化程式設計實戰》一書中的第1章,第1.3節,作者:【愛爾蘭】igor milovanović,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
python資料可視化程式設計實戰
如果同時工作在多個項目上,或是需要在不同項目間頻繁切換,将所有的軟體都安裝在作業系統層級上也許不是一個好主意。當需要在不同系統(産品環境)上運作軟體時,這種方式會帶來問題。如果到此時才發現缺少特定的軟體包,或是産品環境已經安裝的軟體包存在版本沖突,這将是非常痛苦的。為避免這種情況發生,可以選擇使用virtualenv。
virtualenv是由ian bicking建立的開放源代碼項目。通過這個項目, 開發人員可以把不同項目的工作環境隔離開,進而能夠更容易地維護多種不同的軟體包版本。
舉例來說,django網站系統是基于django 1.1和 python 2.3版本開發的,但與此同時,一個新項目要求必須基于python2.6來開發。在筆者工作過的項目中,根據項目的需要同時使用多個版本的python(以及相關軟體包)的情況非常普遍。
virtualenv能夠讓我們很容易地在不同的運作環境之間切換。同時,如果需要切換到另外的機器或者需要在産品伺服器(或客戶的工作站主機)上部署軟體, 用virtualenv能夠很容易地重新建構相同的軟體包環境。
若安裝virtualenv,需要用到python和pip。pip是安裝并管理python軟體包的工具,可以用它來代替easy install工具。本書中大部分的軟體包都是用pip工具進行管理的。隻需在終端中以root身份執行如下指令,就可以很容易地完成pip的安裝。
1.安裝virtualenv和virtualenvwrapper。
$ sudo pip virtualenv
$ sudo pip virtualenvwrapper
$ export virtenv=~/.virtualenvs
$ mkdir -p $virtenv
$ source /usr/local/bin/virtualenvwrapper.sh
$ mkvirtualenv virt1
2.在virt1環境中安裝matplotlib。
(virt1)user1:~$ pip install matplotlib
3.很有可能需要把以下代碼添加到~/.bashrc中。
source /usr/loca/bin/virtualenvwrapper.sh