[Python] 使用 virtualenv 建立 Python 虛擬環境

[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

 

(本頁面已被瀏覽過 38 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料