python虚拟环境virtualenv安装使用

virtualenv介绍

在开发Python应用程序的时候,所有的第三方包都会被放到${PYTHON_HOME}/Lib/site-packages目录下。如下图所示。
在这里插入图片描述
但是如果某个程序需要A模块的V1版本,另一个程序却需要A模块的V2版本,如果两个程序共用同一个python环境的话就会有冲突。

virtualenv就是用来解决上面提到的问题的,它给每个Python开发程序提供一套独立的Python环境,各个Python开发程序相互独立,互不干扰。

windows安装

首先通过pip install virtualenv来安装virtualenv包。
然后假设我们需要开发一个Python项目,其文件夹地址是D:\pycharm_pro\virtualenv_demo。通过cmd启动命令窗口然后进入到该目录
在这里插入图片描述
在这里插入图片描述
然后执行virtualenv venv创建一个名为venv的虚拟环境(名字可任意),执行成功后可以在项目目录下看见一个venv的文件夹
在这里插入图片描述
在这里插入图片描述
进入到venv/Scripts目录下执行activate激活当前的虚拟环境,就能在命令行前面看到(venv) D:\pycharm_pro\的字样。同样可以通过deactivate来退出当前的虚拟环境。
默认创建虚拟环境的时候就不会把以前Python的依赖包安装到该虚拟环境,譬如我原本的Python环境有paramiko模块,创建该虚拟环境后是没有的,所以如果该项目需要的话就手动通过pip安装。
在这里插入图片描述
在这里插入图片描述
更多创建虚拟环境的参数可以通过virtualenv -h查看。
在这里插入图片描述

pycharm创建项目指定虚拟环境

其实pycharm在创建python项目时也可以指定虚拟环境,如下图所示。
不仅支持Virtualenv还支持Conda,至于Conda后面再介绍。
在这里插入图片描述

Linux安装

由于服务器已经安装了Python2。我们在服务器上再安装Python3。然后再创建不同python版本的虚拟环境。

Python3的安装

  • 下载。从Python官网下载一个Python3的版本,此处我选择的是Python-3.5.4.tgz。如下图所示。
    在这里插入图片描述
  • 安装。假设安装包已经放在/usr/local/src/packages,解压并编译安装。
    如果出现configure: error: no acceptable C compiler found in $PATH则需要执行yum -y install gcc
    如果出现Ignoring ensurepip failure: pip 8.1.1 requires SSL/TLS则需要执行yum install openssl-devel
    出现上面任何一个问题,都需要删除掉--prefix指定的目录然后重新执行make && make install
cd /usr/local/src
# 解压
tar zxPvf packages/Python-3.5.4.tgz -C ./
cd Python-3.5.4/
# 将编译好的python放在 /usr/local/src/python 目录
./configure --prefix=/usr/local/src/python
make && make install

如果安装成功后,pip也会自动安装的,看到下图所示内容代表编译安装成功。
在这里插入图片描述
pip3python3命令都在/usr/local/src/python/bin目录下。
在这里插入图片描述

创建Python2的虚拟环境

首先执行pip install virtualenv,创建空目录mkdir /root/virtual_env_py2
再执行virtualenv -p /usr/bin/python venv安装Python2的环境,这样配置的虚拟环境就是python2的。

pip install virtualenv
mkdir /root/virtual_env_py2
cd /root/virtual_env_py2
virtualenv -p /usr/bin/python venv
# 激活python虚拟环境
source venv/bin/activate
# 查看python版本
python -V
# 退出虚拟环境
deactivate

如下图所示,激活虚拟环境后会在前面有个(venv)标记,并且能看出当前虚拟环境的python版本和pythonpip命令所在路径。可以通过deactivate退出虚拟环境,退出后前面的虚拟标记就没有了。
在进入到虚拟环境后,使用pip安装的包也只会装在虚拟环境。
在这里插入图片描述

创建Python3的虚拟环境

和创建Python2类似。就是通过-p指定具体版本的Python。其他操作是一样的。

virtualenv -p /usr/local/src/python/bin/python3 venv

virtualenv原理

原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令pythonpip指向当前的virtualenv环境

参考网址

廖雪峰老师python教程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章