Ubuntu下创建虚拟独立的Python环境全过程


Posted in Python onFebruary 10, 2017

前言

虚拟环境是程序执行时的独立执行环境,在同一台服务器中可以创建不同的虚拟环境供不同的系统使用,项目之间的运行环境保持独立性而相互不受影响。例如项目可以在基于 Python2.7 的环境中运行,而项目 B 可以在基于Python3.x 的环境中运行。在 Python 中通过 virtualenv 工具管理虚拟环境。

另外在 win 或者 mac 上也是极力推荐安装虚拟环境来管理你的 Python 环境,虚拟环境能为你带来不少好处,比如在 Mac 上,自带的 Python 环境为 2.7 。而我们 Django 开发最合适的就是 3.4+。如此一来,你就要去 Google 如何卸载或者转至 Python3.4 的环境,还是比较麻烦。一旦我们有了虚拟环境之后,我们都可以在独立的环境中去安装我们需要的模块或者包的不同的版本,这样会带来很大方便。

Install

在 Linux 系统中执行如下命令安装:

$ sudo pip install virtualenv

在 Ubuntu 中以及其衍生系统中执行如下命令安装即可:

$ sudo apt-get install python-virtualenv

Create

安装成功之后,执行如下命令创建名称为 myvenv 的虚拟环境:

$ virtualenv myvenv

提示如下:

allen@ubuntu:~$ virtualenv myvenv
Running virtualenv with interpreter /usr/bin/python2
New python executable in myvenv/bin/python2
Also creating executable in myvenv/bin/python
Installing setuptools, pip...done.

Activate

source kvenv/bin/activate

具体过程如下,可以看到我们在当前环境下查看 Python 的版本,显示是在虚拟环境 myvenv 下的:

allen@ubuntu:~$ source myvenv/bin/activate
(myvenv)allen@ubuntu:~$ which python
/home/allen/myvenv/bin/python

当然退出当前虚拟环境如下命令即可:

deactivate

Pip

在激活了虚拟环境之后,你可以在这个环境中任意的Pip 啦:

pip install Pillow

Virtualenvwrapper

其为虚拟环境扩展包,用于管理虚拟环境,如列表所有虚拟环境,删除等等。

1. 安装:

#安装virtualenv
(sudo) pip install virtualenv

#安装virtualenvwrapper
(sudo) pip install virtualenvwrapper

2. 配置:

修改~/.bash_profile或其它环境变量相关文件(如 .bashrc(我的Ubuntu15.10 下的是这个) 或用 ZSH 之后的 .zshrc),添加以下语句:

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspace
source /usr/local/bin/virtualenvwrapper.sh

然后运行:

source ~/.bash_profile

3. 用法:

  1. mkvirtualenv zqxt:创建运行环境zqxt
  2. workon zqxt: 工作在 zqxt 环境 或 从其它环境切换到 zqxt 环境
  3. deactivate: 退出终端环境

其它的:

  1. rmvirtualenv ENV:删除运行环境ENV
  2. mkproject mic:创建mic项目和运行环境mic
  3. mktmpenv:创建临时运行环境
  4. lsvirtualenv: 列出可用的运行环境
  5. lssitepackages: 列出当前环境安装了的包

创建的环境是独立的,互不干扰,无需sudo权限即可使用 pip 来进行包的管理。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Python 相关文章推荐
使用Python的Tornado框架实现一个一对一聊天的程序
Apr 25 Python
老生常谈Python startswith()函数与endswith函数
Sep 08 Python
python web.py开发httpserver解决跨域问题实例解析
Feb 12 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
Apr 19 Python
利用python list完成最简单的DB连接池方法
Aug 09 Python
python飞机大战pygame游戏之敌机出场实现方法详解
Dec 17 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
Jun 04 Python
Tensorflow与Keras自适应使用显存方式
Jun 22 Python
python根据字典的键来删除元素的方法
Aug 16 Python
python生成xml时规定dtd实例方法
Sep 21 Python
Python使用内置函数setattr设置对象的属性值
Oct 16 Python
基于PyInstaller各参数的含义说明
Mar 04 Python
简单谈谈Python中的几种常见的数据类型
Feb 10 #Python
Python使用QQ邮箱发送Email的方法实例
Feb 09 #Python
python3中bytes和string之间的互相转换
Feb 09 #Python
python实现下载文件的三种方法
Feb 09 #Python
Python如何实现守护进程的方法示例
Feb 08 #Python
详解Python中表达式i += x与i = i + x是否等价
Feb 08 #Python
Python实现的多线程http压力测试代码
Feb 08 #Python
You might like
MVC模式的PHP实现
2006/10/09 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
javascript firefox兼容ie的dom方法脚本
2008/05/18 Javascript
js 获取中文拼音,Select自动匹配字母获取值的代码
2009/09/23 Javascript
Extjs列表详细信息窗口新建后自动加载解决方法
2010/04/02 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
jQuery Autocomplete自动完成插件
2010/07/17 Javascript
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
2011/04/24 Javascript
jquery动画2.元素坐标动画效果(创建一个图片走廊)
2012/08/24 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
2015/10/30 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
2016/11/09 Javascript
微信小程序 封装http请求实例详解
2017/01/16 Javascript
vuejs2.0实现一个简单的分页示例
2017/02/22 Javascript
详解vue.js全局组件和局部组件
2017/04/10 Javascript
用原生JS实现简单的多选框功能
2017/06/12 Javascript
ES6扩展运算符的用途实例详解
2017/08/20 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
2018/09/04 Javascript
Vue resource三种请求格式和万能测试地址
2018/09/26 Javascript
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
解决Vue + Echarts 使用markLine标线(precision精度问题)
2020/07/20 Javascript
使用Python生成XML的方法实例
2017/03/21 Python
python 读取目录下csv文件并绘制曲线v111的方法
2018/07/06 Python
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
python中对_init_的理解及实例解析
2019/10/11 Python
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
HTML5实现WebSocket协议原理浅析
2014/07/07 HTML / CSS
a标签下载链接的简单实现
2016/09/13 HTML / CSS
初三班主任寄语大全
2014/04/04 职场文书
学校创先争优活动总结
2014/08/28 职场文书
三严三实对照检查材料思想汇报
2014/09/28 职场文书
夫妻房产协议书的格式
2014/10/11 职场文书
初中数学课堂教学反思
2016/02/17 职场文书
幽默导游词应该怎么写?
2019/08/26 职场文书
Pyhton爬虫知识之正则表达式详解
2022/04/01 Python
windows系统安装配置nginx环境
2022/06/28 Servers