笔记本安装了不同版本的多个python环境,之前常用的是python3,但是最近需要在python2.7下写代码,在安装各种包时,无论用pip还是pip3都会默认安装在python3.6下,更改默认的python环境之后也没解决。然后就发现了virtualenv,真的好用。还可以解决不同应用需要不同版本的package的问题。
Motivation
解决不同应用需要拥有各自独立的python开发环境的问题。virtualenv为应用提供隔离的python运行环境,解决不同应用间多版本冲突问题。
原理
把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate
进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。
安装
pip3 install virtualenv
使用
以 “mergeExcel” 这个小项目为例说明。
step 1 - 创建目录
创建目录,或者进入mergeExcel工作空间的目录
4c32758bfcbd:yelp sunchenn$ cd ../mergeExcel/
4c32758bfcbd:mergeExcel sunchenn$ ls
step 2 - 创建独立的python运行环境,命名为venv
virtualenv --no-site-packages venv
命令virtualenv
创建一个独立的Python运行环境
参数--no-site-packages
,使已经安装到系统Python环境中的所有第三方包都不会复制过来,可以得倒一个不带任何第三方包的“干净”的Python运行环境。
新建的Python环境被放到当前目录下的venv
目录
step 3 - 进入当前环境
source venv/bin/activate
当前环境是一个名为venv的python环境
step 4 - 安装各种包,运行
pip install jinja2
python myapp.py
在venv环境下,用pip安装的包都被安装到venv这个环境下,系统Python环境不受任何影响。也就是说,venv环境是专门针对mergeExcel这个应用创建的。
step 5 - 退出当前环境
deactivate
参考链接:廖雪峰python教程https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432712108300322c61f256c74803b43bfd65c6f8d0d0000