1. 程式人生 > >Python開發環境配置

Python開發環境配置

基於Linux/ Mac OS X。也許很多朋友和我一樣想要,另外也怕自己搞忘了。

一、版本平臺的說明

1、系統平臺

此次開發環境的配置是基於Linux或者Mac OS X 的,對於windows沒有試驗過,所以不好說,應該都是一樣的。不過個人建議,Python開發還是在Linux或者OS X平臺上搞,這兩個系統對於Python提供了原生支援。至少是 系統自帶的。 對於Ubuntu 12.04的Python:         版本2.7.3(不是說其他不行,只是其他版本沒有試驗過) 當然了,系統版本高於12.04也是可以的 OS X 10.9自帶的Python:              版本是2.7.5 

二、虛擬環境的配置

1、虛擬環境的說明

Python的版本很多,從2.5一直到3.x都有,各個版本之間以及第三方包之間的相容性不是很好,為了讓各自擁有一個隔離的環境不至於相互影響,於是就要一個虛擬環境,將各個版本隔離開來。我是深有體會,因為相容性問題輕則出錯,更要命的是還不知道怎麼修改過來,往往是改了這個那個有出錯,所以虛擬環境很有必要。然後在每個環境中安裝需要的軟體包(配合 pip 使用),這一系列的環境是相互隔離的。

2、安裝配置

Linux(這裡特指Ubuntu)上安裝請首先確保進行了以下兩步:
sudo apt-get install build-essential

sudo aptitude install python-dev


Linux安裝pip
sudo apt-get install python-pip
OS X同樣要先安裝pip
sudo easy_install pip
然後再通過pip安裝virtualenv,Linux和OS X的方法都是一樣的了。
sudo pip install virtualenv 

3、方便的使用虛擬環境:virtualenvwrapper

安裝:

sudo pip install virtualenvwrapper

配置virtualenvwrapper

修改

sudo vim  /usr/local/bin/virtualenvwrapper.sh
將存放虛擬環境的目錄修改成你要的,它預設的路徑是$HOME/.virtualenvs

我是將它改成了$HOME/virtualenvs

這個路徑還是不要變了吧,只是一個存放虛擬環境的的地方,建立Python專案比如django什麼的並不是存放在這個目錄下。

在~/.bashrc檔案的最後一行新增如下:

export WORKON_HOME=$HOME/.virtualenvs

source /usr/local/bin/virtualenvwrapper.sh
這樣管理工具是搞好了 然後執行:
source ~/.bashrc

環境就搞好了!

三、如何使用

得益於上一步安裝的virtualenvwrapper,我們可以很方便的使用和管理虛擬環境 3.1 建立虛擬環境 接下來的操作中要建立一個虛擬環境(也就是一個目錄),這個虛擬環境建立的路徑是$HOME/virtualenvs,也就是在你使用者主目錄下的virtualenvs裡
mkvirtualenv test2-pyenv
再去檢視~/virtualenvs,發現多了test2-pyenv 建立後會自動啟用虛擬環境,命令提示符也會有變化,變成這個了: (test2-env)Terminal_USER> test2-env$
3.2 列出所有的虛擬環境
$ lsvirtualenv


3.3  列出所有虛擬環境
 
$ lsvirtualenv


3.4  啟用虛擬環境
 
$ workon test2-env


3.5 進入虛擬環境目錄
 
$ cdvirtualenv


3.6 進入虛擬環境的site-packages目錄
 
$ cdsitepackages



3.7 列出site-packages目錄的所有軟體包
 
$ lssitepackages



3.8 停止虛擬環境
 
$ deactivate



3.9 刪除虛擬環境
 
$ rmvirtualenv test2-env


另外:當我們遷移環境並且重建的時候也是非常的方便

4、重建Python環境



4.1 將軟體包配置放到檔案中

 $ pip freeze > requirements.txt

4.2 重建

重建(rebuild) 環境就是在部署的時候,在生產環境安裝好對應版本的軟體包,不要出現版本相容等問題:


 $ pip install -r requirements.txt

參考: ------------------------------------------------------------------------------------------------------------------------------ 虛擬環境準備好了,要不開發個django應用試試?