Python虛擬環境配置應用

       Python好用,但用好卻不易,其中比較頭疼的就是包管理和Python不同版本的問題,為了解決這些問題,有不少發行版的Python,比如WinPython、Anaconda等,這些發行版將python和許多常用的package打包,方便Python使用者直接使用,此外,還有virtualenv、pyenv等工具管理虛擬環境。

        我們在實際使用中往往自己的不同項目會用到不同的Python版本和同一個包的不同版本,確實很令人頭疼,不過不用着急,虛擬環境很好的為我們解決了這一難題,在這一片文章中我會總結結合Python開發中IDE裏面的扛把子——pycharm來使用的兩種虛擬環境管理工具——Virtualenvwrapper和anaconda。

 

首先,搞清楚幾個概念:

Anaconda概述

Anaconda是一個用於科學計算的Python發行版,支持 Linux, Mac, Windows系統,提供了包管理與環境管理的功能,可以很方便地解決多版本python並存、切換以及各種第三方包安裝問題。Anaconda利用工具/命令conda來進行package和environment的管理,並且已經包含了Python和相關的配套工具。

這裡先解釋下conda、anaconda這些概念的差別。conda可以理解為一個工具,也是一個可執行命令,其核心功能是包管理與環境管理。包管理與pip的使用類似,環境管理則允許用戶方便地安裝不同版本的python並可以快速切換。Anaconda則是一個打包的集合,裏面預裝好了conda、某個版本的python、眾多packages、科學計算工具等等,所以也稱為Python的一種發行版。其實還有Miniconda,顧名思義,它只包含最基本的內容——python與conda,以及相關的必須依賴項,對於空間要求嚴格的用戶,Miniconda是一種選擇。

這裡先說一下conda的設計理念——conda將幾乎所有的工具、第三方包都當做package對待,甚至包括python和conda自身!因此,conda打破了包管理與環境管理的約束,能非常方便地安裝各種版本python、各種package並方便地切換。

 

virtualenv

virtualenv 是一個可以在同一計算機中隔離多個python版本的工具。有時,兩個不同的項目可能需要不同版本的python,如 python2.7/ python3.5 ,但是如果都裝到一起,經常會導致問題。所以需要一個工具能夠將這兩種或幾種不同版本的環境隔離開來,需要哪個版本就切換到哪個版本做為默認版本。virtualenv 既是滿足這個需求的工具。它能夠用於創建獨立的Python環境,多個Python相互獨立,互不影響。

 

virtualenvwrapper

virtualenvwrapper是virtualenv的擴展管理包,用於更方便管理虛擬環境,它可以做:
1、將所有虛擬環境整合在一個目錄下
2、管理(新增,刪除,複製)虛擬環境
3、切換虛擬環境

 

       關於Virtualenvwrapper和anaconda的安裝配置教程,網上有太多太多的,我在自己的其他博客中也有提到,這裡就不做贅述啦,只談正題。

好啦,現在開始打開pycharm開始幹活。

我們先隨便新建一個名為「test」的項目:

下面選擇解釋器,在選擇解釋器的時候,我們就可以用Virtualenv和conda來創建虛擬環境,或是利用他們已經創建好的虛擬環境

 

我們先選擇conda方式來創建:

這樣就可以創建項目嘍!

我們再使用virtualenv來創建:

這裡有幾點說明:

Name中填寫新虛擬環境的名字,或者使用默認名字,方便以後安裝第三方包和其他項目使用;
在Location中填寫新環境的文件目錄;
在Base interpreter下拉框中選擇Python解釋器;
勾選Inherit global site-packages可以使用base interpreter中的第三方庫,不選將和外界完全隔離;
勾選Make available to all projects可將此虛擬環境提供給其他項目使用。

使用Python一定要用好虛擬環境,pycharm真的是太贊啦,直接給集成了兩大虛擬環境配置工具,省去了很多步驟。

Tags: