本篇所有操作均在基于 ubuntu==20.04,python==2.7.11+ 且 pip==9.0.3 的环境下完成
一、背景
虚拟环境可以达到项目环境隔离的效果,为了免去进入工程项目后还要手动激动虚拟环境,这里使用 autoenv 实现在切换目录的同时自动激活该项目的虚拟环境。
二、环境配置
以项目 flask_web 为例。
1、安装 autoenv
1
2
3
> sudo pip2 install virtualenv
> sudo pip2 install autoenv
> source /usr/local/bin/activate.sh
2、编辑 shell 配置
为了下次登录后可以自动初始化脚本,需要在 shell 的配置文件中加入以下命令行:
1
source /usr/local/bin/activate.sh
如果是 zsh,则编辑 zprofile 文件。如果是 bash,则编辑 profile 文件。我这里是用 bash,所以使用以下命令行打开配置文件 profile:
1
> vim /home/haauleon/.profile
3、创建虚拟环境 venv
1
2
> cd flask_web
> virtualenv venv
4、配置 .env 文件
1
2
3
> cd flask_web
> touch .env
> echo "source /mnt/d/gitee/flask_web/venv/bin/activate" > .env # 需要使用 activate 所在的完整路径
5、效果演示
1
2
3
4
5
6
7
8
9
10
11
12
13
14
> cd ..
> cd flask_web
You must source this script: $ source /mnt/d/gitee/flask_web/venv/bin/activate
autoenv:
autoenv: WARNING:
autoenv: This is the first time you are about to source /mnt/d/gitee/flask_web/.env:
autoenv:
autoenv: --- (begin contents) ---------------------------------------
autoenv: source /mnt/d/gitee/flask_web/venv/bin/activate
autoenv:
autoenv: --- (end contents) -----------------------------------------
autoenv:
autoenv: Are you sure you want to allow this? (y/N) y
(venv) haauleon@LAPTOP-EA7BF21I:/mnt/d/flask_web$