python——虛擬環境(一)

來源:互聯網
上載者:User

標籤:pytho   需要   vat   自己   script   一個   exe   python版本   img   

1 問題

  當我們擁有兩個甚至多重專案A、B、C......,各個項目正常運行需求的python運行環境都不相同。而預設情況下,不管哪個項目,使用的都是全域的Python環境。上述情況,造成的問題就是,A、B、C等項目,只能運行一個;如果運行另一個,必須安裝與之匹配的庫版本。

 

2 解決思路

  建立一個完全獨立的局部python環境(或叫做虛擬環境)。在此環境中,安裝所有與某個項目相匹配庫即可。總之,一個項目,使用一個虛擬環境;互相之間,沒有幹擾。

 

3  具體解決步驟

  3.1  安裝第三方包virtualenv

    當電腦裡面有多個版本的python的時,可以指定版本來進行安裝。代碼見下:

      pip install virtualenv

      或者

      python3 -m pip install virtualenv

   

  3.2 virtualenv的簡單應用

    3.2.1 建立一個局部的隔離的虛擬環境

     開啟命令提示字元,cd進入到項目myproject(必鬚根據自己的項目進行修改)所在路徑,建立項目myproject的虛擬環境。

      (1) 文法
        virtualenv 虛擬環境名稱
        例如:virtualenv ENV
      (2) 選擇性參數

      (i) -p :指明Python版本建立,到時候就使用此版本的解譯器,預設是你安裝viretual 包的時候,用的python解譯器
      例如:virtualenv -p  C:\Python27\python.exe ENV
      (ii) --system-site-packages:繼承系統的三方庫。到時候,檢索庫的時候,也會到系統的三方庫中尋找,如果不加此項,到時候只會在當前的虛擬環境中找
      例如:virtualenv --system-site-packages ENV

     建立完成後,會在myproject檔案夾下自動產生一個ENV檔案夾,效果見:

 

    ENV檔案夾裡面的內容見:

    

    3.2.2 啟用虛擬環境
      (1) 文法
        開啟命令提示字元,進入到虛擬環境目錄/scripts檔案夾中,輸入activate.bat
      (2) 介面效果

    

      (3) 作用效果
        在環境的啟用狀態,後續所有的操作都是基於這個虛擬Python環境包的安裝和卸載。代碼的執行,比如:pip install 包名(如requests)
      如果不啟用建立的虛擬環境,到時候會被安裝在全域Python環境中。啟用後,則會安裝在虛擬環境中。

    3.2.3 在啟用狀態下的操作
      操作三方庫、執行py檔案等等
      注意:以上所有操作,均作用在被啟用的虛擬環境中

    3.2.4 退出虛擬環境
      (1) 文法
        進入到虛擬環境目錄/scripts檔案夾中,輸入命令deactivate.bat
      (2) 介面效果
    

      (3) 作用效果
        
退出後,所有後續操作,又會再次的作用於全域的Python環境中
    
3.2.5 刪除虛擬環境

      直接把專案檔目錄下的ENV檔案夾刪除即可。

  更多使用命令見官網:https://virtualenv.pypa.io/en/latest/userguide/

 

4 補充
  
以後把項目給別人的時候,就可以連同虛擬環境和項目一起拷貝給別人。但是當虛擬環境非常大的時候,這種方法顯然不實際。這就需要用到另一種方法了。
即在虛擬環境中,凍結依賴需求文本,把項目和依賴需求文本給別人。

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.