有人说:virtualenv、fabric 和 pip 是 pythoneer 的三大神器,今天学习安装下virtualenv
virtualenv可以搭建虚拟且独立的python环境,可以使每个项目环境与其他项目独立开来,保持环境的干净,解决包冲突问题
1.安装virtualenv
virtualenv实际上是一个python包,所以我们可以用easy_install或者pip安装或yum安装
(1).easy_install安装方式
yum install python-setuptools python-devel
easy_install virtualenv
(2).pip安装方式(我采用此方式安装)
yum install python-setuptools python-devel
easy_install pip
pip install virtualenv
(3).yum安装方式(epel源)
yum install python-virtualenv
2.安装指定的python
yum install zlib-devel -y
yum install openssl openssl-devel -y
下载python3.5.2
wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
tar zxvf Python-3.5.2.tgz
cd /lost+found/Python-3.5.2
./configure --prefix=/usr/local/python3.5.2 --with-zlib
make && make install
下载python2.7.12
wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz
tar zxvf Python-2.7.12.tgz
cd /lost+found/Python-2.7.12
./configure --prefix=/usr/local/python2.7.12 --with-zlib
make && make install
设置环境变量(以下部分非必须操作)
vim /etc/profile
source /etc/profile
进入python2.7,此时敲入python,仍然会进入系统默认的python2.6.6,需要敲入python2.7,如下:
若果你想将Python的默认版本修改成Python2.7,按照以下步骤,系统的默认python放置在/usr/bin/python处(这个2.6是系统默认版本),因此此时需要建立软连接指向当前系统默认的python目录处,让系统使用新的python版本
查找默认python的位置
which python
mv /usr/bin/python /usr/bin/python2.6-bak
ln -s /usr/local/python2.7.12/bin/python2.7 /usr/bin/python #删除软链接的放 rm /usr/bin/python
此时再输入python,即可进入python2.7.12
3.创建python的虚拟环境
使用virtualenv命令创建python虚拟环境
virtualenv env1
执行后,在本地会生成一个与虚拟环境同名的文件夹,如果你的系统里安装有不同版本的python,可以使用--python参数指定虚拟环境的python版本
virtualenv --python=/usr/local/python3.5.2/bin/python3.5 env1
4.启动虚拟环境
cd env1
source bin/activate
查看下虚拟环境的python版本
python -V
5.退出虚拟环境
deactivate
6.使用virtualenvwrapper管理虚拟环境
virtualenvwrapper是virtualenv的扩展工具,可以方便的创建、删除、复制、切换不同的虚拟环境
(1).安装virtualenvwrapper
pip install virtualenvwrapper
(2).创建一个文件夹,用于存放所有的虚拟环境
mkdir ~/workspaces
(3).设置环境变量,把下面两行添加到~/.bashrc里
vim ~/.bashrc
export WORKON_HOME=~/workspaces
source /usr/bin/virtualenvwrapper.sh
source ~/.bashrc
(4).然后就可以使用virtualenvwrapper了,创建虚拟环境
mkvirtualenv env1
此时可能会报错,错误信息为:LOG.addHandler(logging.NullHandler()) AttributeError: 'module' object has no attribute 'NullHandler'
解决方法如下:
卸载stevedore1.17.0
pip uninstall stevedore
查看是否已经卸载成功
pip search "stevedore"
安装stevedore1.9.0
pip install stevedore==1.9
此时再次创建虚拟环境
(5).退出虚拟环境
deactivate
(6).列出虚拟环境
lsvirtualenv -b
(7).删除虚拟环境
rmvirtualenv env1
(8).创建指定python版本的虚拟环境
mkvirtualenv env1 -p /usr/local/python2.7.12/bin/python2.7
mkvirtualenv env2 -p /usr/local/python3.5.2/bin/python3.5
(9).切换虚拟环境
workon env1
(10).查看环境安装了哪些包
lssitepackages
(11).进入当前环境的目录
cdvirtualenv