1. 程式人生 > >Python虛擬環境-使用指南(含Sublime Text 3如何使用Virtualenv外掛)

Python虛擬環境-使用指南(含Sublime Text 3如何使用Virtualenv外掛)

Python虛擬環境一般有兩種方式:
①在Python3.3之前,使用第三方實用工具virtualenv建立。
pyvenv。Python3.3以後的版本自帶的通過venv模組 支援的原生虛擬環境。3.3的虛擬環境不包含pip,不過3.4改了此缺陷。pyvenv可完全代替virtualenv

1、vitualenv

虛擬環境 是Python直譯器的一個私有副本,在這個環境中我們可以安裝私有包,而不會影響系統中安裝的全域性Python直譯器。

在Windows下使用virtualenv,又名為:Multiple Python Versions on Windows。實現Python2、Python3兩個版本共存,避免包的混亂、版本衝突。為每個程式單獨建立虛擬環境 可以保證程式只能訪問虛擬環境中的包,從而保持全域性直譯器的乾淨整潔,使其只作為建立(更多)虛擬環境的源。這樣還不需要管理員許可權。
意味著

:在虛擬環境裡安裝包只對這個虛擬環境有效。而且虛擬環境只帶一個純淨的python。這樣你的專案不會影響到其他人的,也不會被其他人的專案影響。

2、pyvenv

步驟:
1 新建一個目錄,用來存放專案的 如D:\OldIron\myweb。建立的myweb資料夾
2 cmd進去上面的目錄。例:
d:
cd D:\OldIron\myweb
3 python -m venv myvirtuaenv。myvirtuaenv是個目錄(即虛擬環境名字:按照慣例,一般虛擬環境會被命名為venv),裡面是我們所建立的虛擬環境。與虛擬環境相關的檔案都會儲存在這個檔案目錄中。
-m引數
python –help 給出幫助資訊
這裡寫圖片描述


run library module as a script (terminates option list)—-譯作:將庫中的python模組用作指令碼去執行。

python -m venv xxx其中 venv是指venv模組。
參考文章:Python3 venv建立虛擬環境
4 啟用虛擬環境 activate在使用虛擬環境之前,得將其啟用。
切換到 D:\OldIron\myweb\myvirtuaenv\Scripts下,即 cd D:\OldIron\myweb\myvirtuaenv\Scripts
啟用虛擬環境後的命令列(cmd)最前面會出現 虛擬環境 的名稱。
這裡寫圖片描述


虛擬環境中的Python並沒有安裝擴充套件庫(pip除外),我們可以通過pip在虛擬環境中安裝任何擴充套件庫,且它們都只對當前虛擬環境(myvirtuaenv)有效,對真實的環境和別的虛擬環境都無效。即 虛擬環境、真實環境、別的虛擬環境 各自互不影響。
另一種方式“啟用”虛擬環境:[虛擬環境目錄下]/Scripts 雙擊開啟Python.exe檔案。
5 退出虛擬環境 命令列輸入 deactivate。(此命令不必切換到/Scripts目錄下,哪裡都可以執行)。這樣就回到 全域性Python直譯器中。
6 重建依賴。即 從A環境 遷移到 B虛擬環境怎麼重建依賴。
先在A環境中把所有依賴都儲存到re.txt中,使用pip freeze > re.txt 。此時會在當前目錄生成re.txt。
我們可以修改re.txt檔案來改變我們虛擬環境的相關依賴。比如 不需要Flask,直接將該行刪除即可。

啟用B虛擬環境,安裝所有依賴,使用 pip install -r re.txt
這樣,A環境的依賴 就遷移到B環境了。

:有的擴充套件庫通過pip install的方式安裝可能會出現問題(比如 lxml),那麼通過上面那條命令安裝也會失敗,這種擴充套件庫我們只有去這裡下載編譯好的.whl檔案進行單獨安裝。先在虛擬環境中安裝wheel(pip install wheel),然後就可以直接用pip命令安裝.whl檔案了。
freeze v.使結冰、凍結(存款、工資等)、冷藏;n.凝固、結冰、凍傷
pip freeze 這個命令作用:按著一定格式輸出已安裝軟體列表


在虛擬環境中 使用pip安裝Python包
例:
這裡寫圖片描述

附:Sublimetext3使用Virtualenv外掛

Sublimetext3使用Virtulalenv外掛進去Pyhton虛擬環境,步驟:
1. 新增Virtualenv外掛:ctrl+shift+p出現懸浮框,輸入package,然後選擇package control–install package,輸入virtualenv,選擇它回車即可安裝,安裝完後會出現一個新視窗Package Control Messages,有Virtualenv簡介。
2. 新建python虛擬環境:Crtl+Shift+P,選中Virtualenv:New選項,在SublimeText底部Virtualenv Path輸入虛擬環境安裝目錄後回車鍵,比如D:\youcaihua\venv\。等待安裝完成後,Tool->Build systems中選中Python+Virtualenv,即可使用虛擬環境來執行python,但是在執行前需要先執行python虛擬環境;
3. 執行python虛擬環境: Project->Add forlder to Project,選擇D:\youcaihua\(推薦:其實虛擬環境目錄是安裝在根目錄下),在左側即可看到安裝的虛擬環境,Crtl+Shift+P,選中Virtualenv:Activate選項,選擇對應的虛擬環境即可啟用。啟用之後,Crtl+Shift+P可以看到選項中多了一個Virtualenv:Deactivate,通過這個可以關閉虛擬環境;刪除也看得到。
4. Ctrl+B執行python檔案
5. Sublime Text預設Ctrl+B執行python程式不支援互動式預設以及raw_input等,所以有時需通過SublimeREPL來執行python程式.
6. SublimeText3 安裝SublimeREPL外掛(Crtl+Shift+P),該外掛呼叫的python預設為系統path中設定的python
7. 為SublimeREPL新增快捷鍵
Preference->key Bindings->user中新增下面配置,
其中F2用來執行python檔案,對應於Tools->SublimeREPL->python->Python RUN current file
其中F1用來進入python互動式模式,對應於Tools->SublimeREPL->python->Python

[
{
"keys":["f2"],
"caption": "SublimeREPL: Python - RUN current file",
"command": "run_existing_window_command", 
"args": 
{
"id": "repl_python_run",
"file": "config/Python/Main.sublime-menu"
}
},
{
"keys":["f1"],
"caption": "SublimeREPL: Python",
"command": "run_existing_window_command", 
"args": 
{
"id": "repl_python",
"file": "config/Python/Main.sublime-menu"
}
}
]

8. 因為SubLimeREPL預設使用的是系統中path路徑中的python環境,如果希望使用上述python虛擬環境,那麼可以做如下設定:
Preference->Package Settings->SublimeREPL->Settings User中新增:

{
"default_extend_env": {"PATH":"D:\\youcaihua\\venv\\Scripts"},
}

其中D:\youcaihua\venv\Scripts為虛擬環境安裝目錄,指定到Scripts這一層即可。
當然還有一種方法就是修改系統path中的python目錄;
9. 通過以上步驟設定之後,Sublime Text即可使用python虛擬環境通過Ctrl+B以及F2的方式來執行python檔案,還可以通過F1的方式進入python互動式模式
需要注意的是Ctrl+B每次執行都是在控制檯中輸出結果,但是F2每次執行都會開啟一個新的頁籤顯示執行結果,個人感覺這個不太方便,暫時沒找到解決方法。
所以目前如果執行.py檔案都是通過Ctrl+B,如果需要python互動式模式就使用F1

PS:有時可能Ctrl+B 和F2執行的結果還不同!!!