Python virtualenv - - python 开发环境

gua · 发布于 2018年10月16日 · 31 次阅读
55255

http://blog.leanote.com/post/gua_l/virtualenv

virtualenv 概述

virtualenv提供了一个独立的python开发环境,用于多个python项目不同环境的隔离。当我们多个项目并行时,并且项目彼此之间需要导入同一模块的不同版本时,virtualenv所提供的虚拟环境就非常有用。

这是一个开源的项目。

源码访问: https://github.com/pypa/virtualenv

文档参考: https://virtualenv.pypa.io/en/latest

安装使用

安装

pip install virtualenv  

初始化python 独立的运行环境

cd /home/releng/Songhua_auto_release
virtualenv --no-site-packages venv

以上执行完会在当前目录生成venv的目录,使用以下命令使环境激活,activate

激活

source venv/bin/activate

导入模块 ,其中导入的模块是是test.py 中需要import 的。退出环境后,环境外使用的是系统安装的原有模块。

pip install -U multi-mechanize
pip install requests
python test.py

在环境里执行脚本

python test.py

退出环境

deactivate

实操演示

//以下安装时 , 需要使用root 权限安装

[root@huangbei temp]# pip install --upgrade pip [root@huangbei temp]# pip install virtualenv

[root@huangbei temp]# exit

[relmgr@huangbei temp]$ virtualenv --no-site-packages venv ........ Installing setuptools, pip, wheel...done.

[relmgr@huangbei temp]$ ll drwxrwxr-x 5 relmgr relmgr 77 Sep 26 15:25 venv

//执行完初始化,当前目录生成了venv 目录

[relmgr@huangbei temp]$ cat test.py #-- coding:utf-8 -- import mechanize

[relmgr@huangbei temp]$ source venv/bin/activate

//激活环境就进入(venv)开头的环境里 (venv) [relmgr@huangbei temp]$ python test.py ........ ImportError: No module named mechanize

//以上我们可以知道,这个干净的虚拟环境要执行此脚本还需要再导入模块包

(venv) [relmgr@huangbei temp]$ pip install -U multi-mechanize

(venv) [relmgr@huangbei temp]$ python test.py

(venv) [relmgr@huangbei temp]$ deactivate [relmgr@huangbei temp]$

// deactivate 退出环境 ,下次进入环境时,之前导入的模块仍有保留

// 环境之内与环境之外,可以导入同一个模块的不同版本V1 和 V2 。彼此隔离,互不影响。

此贴已暂时被屏蔽!

...

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册