[Python] 使用 virtualenv 建立 Python 虛擬環境
之前 在 Mac 上用 virtualenvwrapper 建立 Python 的虛擬環境,
可是在 Python 3 上似乎無法使用…
試了一下,發現原始的 virtualenv 就很容易使用了,
應該是沒有需要用到 virtualenvwrapper,
而且它在 Python 2 和 3 都可以使用~
1. 安裝 virtualenv
用 pip 就可以安裝 virtualenv,
而且一套 virtualenv 就可以同時用在 Python 2 和 3,
所以只要用 pip 裝一套 virtualenv 就行了:
pip install virtualenv
2. 建立 Python 虛擬環境
執行 virtualenv -p <python 路徑> <虛擬環境目錄>,
就可以建立出一個 Python 虛擬環境。
例如,下面是建立一個虛擬環境,
Python 是使用系統內建的 python (像是 /usr/bin/python),
資料都儲存在 py2 這個目錄裡:
root@localhost /test # virtualenv -p $(which python) py2 Running virtualenv with interpreter /usr/bin/python Already using interpreter /usr/bin/python No LICENSE.txt / LICENSE found in source New python executable in /test/py2/bin/python Installing setuptools, pip, wheel... done.
py2 目錄下會跑出好幾個目錄,像是 bin、include 和 lib,
lib 目錄下會放 python 的模組,
bin 目錄下會有這個 python 虛擬環境所需要的執行檔,像 python 執行檔、pip 等等,
另外像是裝 pylint 的話,執行檔也會在這裡:
root@localhost /test # ll py2/bin -rw-r--r-- 1 root root 2244 Jan 2 17:13 activate -rw-r--r-- 1 root root 1463 Jan 2 17:13 activate.csh -rw-r--r-- 1 root root 3128 Jan 2 17:13 activate.fish -rw-r--r-- 1 root root 1751 Jan 2 17:13 activate.ps1 -rw-r--r-- 1 root root 1517 Jan 2 17:13 activate_this.py -rwxr-xr-x 1 root root 280 Jan 2 17:13 easy_install* -rwxr-xr-x 1 root root 280 Jan 2 17:13 easy_install-2.7* -rwxr-xr-x 1 root root 267 Jan 2 17:13 pip* -rwxr-xr-x 1 root root 267 Jan 2 17:13 pip2* -rwxr-xr-x 1 root root 267 Jan 2 17:13 pip2.7* -rwxr-xr-x 1 root root 7216 Jan 2 17:13 python* -rwxr-xr-x 1 root root 2373 Jan 2 17:13 python-config* lrwxrwxrwx 1 root root 6 Jan 2 17:13 python2 -> python* lrwxrwxrwx 1 root root 6 Jan 2 17:13 python2.7 -> python* -rwxr-xr-x 1 root root 258 Jan 2 17:13 wheel*
3. 使用 Python 虛擬環境
執行 source <虛擬環境目錄>/bin/activate,
就可以開始使用這個虛擬環境,例如:
root@localhost /test # source py2/bin/activate (py2) root@localhost /test #
這時就可以開始用 pip 安裝 python 模組,
東西都會安裝到虛擬環境目錄下,不會與系統的 Python 有衝突~
實際運用情境,像我想要同時有 Python 2 和 Python 3 的虛擬環境,
只要執行這兩行,就能建立出兩個虛擬環境,
可以隨時切換使用囉:
virtualenv -p $(which python2) py2 virtualenv -p $(which python3) py3
(本頁面已被瀏覽過 447 次)