Python實踐31-用virtualenv構建Python2和Python3的運行環境
02-16
什麼是VirtualEnv
- virtualenv is a tool to create isolated Python environments.
- The basic problem being addressed is one of dependencies and versions, and indirectly permissions. Imagine you have an application that needs version 1 of LibFoo, but another application requires version 2. How can you use both these applications? If you install everything into /usr/lib/python2.7/site-packages (or whatever your platform』s standard location is), it』s easy to end up in a situation where you unintentionally upgrade an application that shouldn』t be upgraded.
- virtualenv就是用來為一個應用創建一套「隔離」的Python運行環境
- 典型的一種場景就是你的機器上同時需要運行Python2和Python3兩個版本的Python,那麼用virtualenv可以非常方便地管理不同版本的Python
- 當然,更多的時候virtualenv也被用來創建同一Python版本+不同版本第三方庫的運行環境。
安裝virtualenv
pip install virtualenv
CentOS 7上安裝Python3
- yum install epel-release
- 或者 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
- yum install python34
- 檢查安裝 $ python3
- 升級剛剛安裝的virtualenv: pip install --upgrade virtualenv (here was a bug in the OPs version of virtualenv, so we run this command to fix it)
創建兩套Python運行環境
創建Python2的環境
- virtualenv env2x # 使用Python2創建環境
- cd env2x
- source ./bin/activate # 進入
- 使用你的python2環境
- deactivate # 退出
創建Python3的環境
- virtualenv –p python3 env3x # 使用Python3創建環境
- cd env3x
- source ./bin/activate # 進入
- 使用你的python3環境
- deactivate # 退出
原理
virtualenv是如何創建「獨立」的Python運行環境的呢?原理很簡單,就是把系統Python複製一份到virtualenv的環境,用命令source venv/bin/activate進入一個virtualenv環境時,virtualenv會修改相關環境變數,讓命令python和pip均指向當前的virtualenv環境。
如果覺得本文對您有幫助,敬請點贊。
推薦閱讀:
※Python實踐19-生成器
※Python 3.5 MySQL支持庫
※Django表單的三種玩法。
※Scrapy如何動態調整爬取速度?
※基於Tor網路的多ip爬蟲