python安裝虛擬環境

來源:互聯網
上載者:User

標籤:1.7   工作   pad   python2.7   自動   安裝包   family   virt   hub   

虛擬環境

虛擬環境是一個將不同項目所需求的依賴分別放在獨立的地方的一個工具,它給這些工程建立虛擬Python環境。它解決了“項目X依賴於版本1.x,而項目Y需要項目4.x”的兩難問題,而且使你的全域site-packages目錄保持乾淨和可管理。

比如,你可以工作在一個需求Django 1.3的工程,同時維護一個需求Django 1.0的工程。

virtualenv

virtualenv 是一個建立隔絕的Python環境的工具。virtualenv建立一個包含所有必要的可執行檔的檔案夾,用來使用Python工程所需的包。

通過pip安裝virtualenv:

$ pip install virtualenv
基本使用
  1. 為一個工程建立一個虛擬環境:
$ cd my_project_folder$ virtualenv venv

virtualenv venv 將會在當前的目錄中建立一個檔案夾,包含了Python可執行檔,以及pip 庫的一份拷貝,這樣就能安裝其他包了。虛擬環境的名字(此例中是 venv )可以是任意的;若省略名字將會把檔案均放在目前的目錄。

在任何你運行命令的目錄中,這會建立Python的拷貝,並將之放在叫做 venv 的檔案中。

你可以選擇使用一個Python解譯器:

$ virtualenv -p /usr/bin/python2.7 venv

這將會使用 /usr/bin/python2.7 中的Python解譯器。

  1. 要開始使用虛擬環境,其需要被啟用:
$ source venv/bin/activate

當前虛擬環境的名字會顯示在提示符左側(比如說 (venv)你的電腦:你的工程 使用者名稱$)以讓你知道它是啟用的。從現在起,任何你使用pip安裝的包將會放在 ``venv 檔案夾中,與全域安裝的Python隔絕開。

像平常一樣安裝包,比如:

$ pip install requests
  1. 如果你在虛擬環境中暫時完成了工作,則可以停用它:
$ deactivate

這將會回到系統預設的Python解譯器,包括已安裝的庫也會回到預設的。

要刪除一個虛擬環境,只需刪除它的檔案夾。(要這麼做請執行 rm -rf venv )

然後一段時間後,你可能會有很多個虛擬環境散落在系統各處,你將有可能忘記它們的名字或者位置。

其他注意

運行帶 --no-site-packages 選項的 virtualenv 將不會包括全域安裝的包。這可用於保持包列表乾淨,以防以後需要訪問它。(這在 virtualenv 1.7及之後是預設行為)

為了保持你的環境的一致性,“冷凍住(freeze)”環境包當前的狀態是個好主意。要這麼做,請運行:

$ pip freeze > requirements.txt

這將會建立一個 requirements.txt 檔案,其中包含了當前環境中所有包及各自的版本的簡單列表。你可以使用 “pip list”在不產生requirements檔案的情況下,查看已安裝包的列表。這將會使另一個不同的開發人員(或者是你,如果你需要重新建立這樣的環境)在以後安裝相同版本的相同包變得容易。

$ pip install -r requirements.txt

這能協助確保安裝、部署和開發人員之間的一致性。

最後,記住在源碼版本控制中排除掉虛擬環境檔案夾,可在ignore的列表中加上它。

virtualenvwrapper

virtualenvwrapper 提供了一系列命令使得和虛擬環境工作變得愉快許多。它把你所有的虛擬環境都放在一個地方。

安裝(確保 virtualenv 已經安裝了):

$ pip install virtualenvwrapper$ export WORKON_HOME=~/Envs$ source /usr/local/bin/virtualenvwrapper.sh

(virtualenvwrapper 的完整安裝指引.)

對於Windows,你可以使用 virtualenvwrapper-win 。

To install (make sure virtualenv is already installed): 安裝(確保 virtualenv 已經安裝了):

$ pip install virtualenvwrapper-win

在Windows中,WORKON_HOME預設的路徑是 %USERPROFILE%Envs 。

基本使用
  1. 建立一個虛擬環境:
$ mkvirtualenv venv

這會在 ~/Envs 中建立 venv 檔案夾。

  1. 在虛擬環境上工作:
$ workon venv

或者,你可以建立一個項目,它會建立虛擬環境,並在 $PROJECT_HOME 中建立一個項目目錄。當你使用 workon myproject 時,會 cd -ed 到項目目錄中。

$ mkproject myproject

virtualenvwrapper 提供環境名字的tab補全功能。當你有很多環境,並且很難記住它們的名字時,這就顯得很有用。

workon 也能停止你當前所在的環境,所以你可以在環境之間快速的切換。

  1. 停止是一樣的:
$ deactivate
  1. 刪除:
$ rmvirtualenv venv
其他有用的命令
lsvirtualenv
列舉所有的環境。
cdvirtualenv
導航到當前啟用的虛擬環境的目錄中,比如說這樣你就能夠瀏覽它的  site-packages
cdsitepackages
和上面的類似,但是是直接進入到  site-packages 目錄中。
lssitepackages
顯示  site-packages 目錄中的內容。

virtualenvwrapper 命令的完全列表 。

virtualenv-burrito

有了 virtualenv-burrito ,你就能使用單行命令擁有virtualenv + virtualenvwrapper的環境。

autoenv

當你 cd 進入一個包含 .env 的目錄中,就會 autoenv 自動啟用那個環境。

使用 brew 在Mac OS X上安裝它:

$ brew install autoenv

在Linux上:

$ git clone git://github.com/kennethreitz/autoenv.git ~/.autoenv$ echo ‘source ~/.autoenv/activate.sh‘ >> ~/.bashrc

python安裝虛擬環境

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.