virtualenv用法梳理

前段時間為了部署網站上線,買了阿里云的服務器。不過選擇ubuntu系統自帶的是pyhton2.7版本。想在原有的系統上增加一個python3.5系統,于是準備用virtualenv創建虛擬環境進行安裝。

virtualenv是什么?

virtualenv是一個創建隔絕的Python環境的工具。

為什么要創建虛擬環境?

它解決了“項目X依賴于版本1.x,而項目Y需要項目4.x”的兩難問題,而且使你的全局site-packages目錄保持干凈和可管理。

安裝步驟

pip install virtualenv

用法

創建虛擬環境
 virtualenv ENV  
  New python executable in 
  Installing setuptools, pip...done.
# 創建一個名為ENV的目錄
# 安裝了ENV/bin/python
# 創建了lib,include,bin目錄,安裝了pip
安裝指定的python版本
$ virtualenv -p /usr/bin/python2.7 環境名
virtualenv -p /usr/bin/python3 環境名
或
virtualenv -p python3 環境名稱
# 不指定版本則使用系統默認版本
virtualenv命令參數
$ virtualenv [OPTIONS] DEST_DIR
選項:
--version 顯示當前版本號。
-h, --help 顯示幫助信息。
-v, --verbose 顯示詳細信息。
-q, --quiet 不顯示詳細信息。
-p PYTHON_EXE 指定所用的python解析器的版本
比如 --python=python2.5 就使用2.5版本的解析器創建新的隔離環境。 
默認使用的是當前系統安裝(/usr/bin/python)的python解析器
--clear  清空非root用戶的安裝,并重頭開始創建隔離環境。
--no-site-packages  默認,令隔離環境不能訪問系統全局的site-packages目錄。
--system-site-packages  令隔離環境可以訪問系統全局的site-packages目錄。
激活虛擬環境
cd venv
source bin/activate # Windows 系統下運行 Scripts\
# 出現(venv)前綴,當前環境切換為venv
退出虛擬環境
$ deactivate
實用技巧
記錄安裝的第三方模塊
pip freeze > requirements.txt
# 若無重定向則直接打印出來
安裝txt文件里所記錄的所有第三方模塊
pip install -r requirements.txt

virtualenv 原理

把系統Python復制一份到virtualenv的環境,用命令source venv/bin/activate進入一個virtualenv環境時,virtualenv會修改相關環境變量,讓命令python和pip均指向當前的virtualenv環境。

參考文檔:
[1] virtualenv 中文文檔1.7
[2] Python指南 Virtualenv
[3] 廖雪峰Python教程 virtualenv庫

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容