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
也会自动安装的,看到下图所示内容代表编译安装成功。pip3
和python3
命令都在/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版本和python
、pip
命令所在路径。可以通过deactivate
退出虚拟环境,退出后前面的虚拟标记就没有了。
在进入到虚拟环境后,使用pip
安装的包也只会装在虚拟环境。
创建Python3的虚拟环境
和创建Python2类似。就是通过-p
指定具体版本的Python。其他操作是一样的。
virtualenv -p /usr/local/src/python/bin/python3 venv
virtualenv原理
原理很简单,就是把系统Python复制一份到virtualenv
的环境,用命令source venv/bin/activate
进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python
和pip
均指向当前的virtualenv环境。
参考网址
上一篇: 木耳清新爽脆,那你可知木耳有营养吗