1、virtualevn是什麼?
virtualenv is a Python tool written by Ian Bicking and used to create isolated environments for Python in which you can install packages without interfering with the other virtualenvs nor with the system Python's packages. The present article covers the installation of the virtualenv package and its companion command line utility virtualenvwrapper designed by Doug Hellmann to (greatly) improve your work flow. A quick how-to to help you to begin working inside virtual environment is then provided.--摘自維基百科
2、virtualevn的安裝
1) 使用pip安裝
pip install virtualenv
2) easy_install 安裝
sudo easy_install virtualenv
3)ubuntu/debian系列
sudo apt-get install python-virtualenv
4)redhat/centos系列
sudo yum install python-virtualenv
3、virtualenv的簡單使用
1)創建一個虛擬環境
virtualenv mytest
之後,就可以看到在執行命令的當前目錄下存在了一個mytest目錄,進入該目錄發現有如下的文件
[root@puppetmaster mytest]# ll
total 12
drwxr-xr-x 2 root root 4096 Sep 28 22:22 bin
drwxr-xr-x 2 root root 4096 Sep 28 22:22 include
drwxr-xr-x 3 root root 4096 Sep 28 22:22 lib
lrwxrwxrwx 1 root root 3 Sep 28 22:22 lib64 -> lib
看下bin目錄下有哪些文件:
[root@puppetmaster mytest]# ll bin/
total 40
-rw-r--r-- 1 root root 2193 Sep 28 22:22 activate
-rw-r--r-- 1 root root 1249 Sep 28 22:22 activate.csh
-rw-r--r-- 1 root root 2388 Sep 28 22:22 activate.fish
-rw-r--r-- 1 root root 1129 Sep 28 22:22 activate_this.py
-rwxr-xr-x 1 root root 328 Sep 28 22:22 easy_install
-rwxr-xr-x 1 root root 336 Sep 28 22:22 easy_install-2.6
-rwxr-xr-x 1 root root 289 Sep 28 22:22 pip
-rwxr-xr-x 1 root root 297 Sep 28 22:22 pip-2.6
-rwxr-xr-x 1 root root 4864 Sep 28 22:22 python
lrwxrwxrwx 1 root root 6 Sep 28 22:22 python2 -> python
lrwxrwxrwx 1 root root 6 Sep 28 22:22 python2.6 -> python
可以看到,在virtualenv工具爲我們創建的mytest目錄下,已經自動爲我們安裝了很多工具,包括pip以及跟系統python一樣的python版本。默認情況下,虛擬環境會依賴系統環境中的site packages,就是說系統中已經安裝好的第三方package也會安裝在虛擬環境中,如果不想依賴這些package,那麼可以加上參數--no-site-packages,也就變成了這樣:
virtualenv mytest --no-site-packages
2)激活(啓動)該虛擬環境
source ./bin/activate
之後,我們發現,我們的操作行前面多了mytest字樣,如下所示:
(mytest)[root@puppetmaster mytest]#
3)退出虛擬環境
deactivate