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 转换 Javascript %u 字符串为python unicode的代码
Sep 06 Python
Python日期的加减等操作的示例
Aug 15 Python
Python 2.x如何设置命令执行的超时时间实例
Oct 19 Python
Python探索之Metaclass初步了解
Oct 28 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
Jul 12 Python
详解django的serializer序列化model几种方法
Oct 16 Python
Python面向对象程序设计类的多态用法详解
Apr 12 Python
Python如何基于rsa模块实现非对称加密与解密
Jan 03 Python
详解Python实现进度条的4种方式
Jan 15 Python
python如何使用腾讯云发送短信
Sep 17 Python
Python txt文件如何转换成字典
Nov 03 Python
用60行代码实现Python自动抢微信红包
Feb 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
PHP防注入安全代码
2008/04/09 PHP
PHP简单获取随机数的常用方法小结
2017/06/07 PHP
PHP7变量处理机制修改
2021/03/09 PHP
jQuery的Ajax时无响应数据的解决方法
2010/05/25 Javascript
jquery实现简单易懂的图片展示小例子
2013/11/21 Javascript
jquery表单验证框架提供的身份证验证方法(示例代码)
2013/12/27 Javascript
jquery实现一个简单好用的弹出框
2014/09/26 Javascript
JavaScript生成福利彩票双色球号码
2015/05/15 Javascript
jQuery实现判断滚动条到底部
2015/06/23 Javascript
js实现的简单radio背景颜色选择器代码
2015/08/18 Javascript
基于zepto.js简单实现上传图片
2016/06/21 Javascript
利用jQuery实现打字机字幕效果实例代码
2016/09/02 Javascript
Vue-Router模式和钩子的用法
2018/02/28 Javascript
element-ui表格数据转换的示例代码
2018/08/24 Javascript
vue实现微信获取用户信息的方法
2019/03/21 Javascript
详解vue配置后台接口方式
2019/03/29 Javascript
jQuery实现二级导航菜单的示例
2020/09/30 jQuery
H5 js点击按钮复制文本到粘贴板
2020/11/19 Javascript
python操作数据库之sqlite3打开数据库、删除、修改示例
2014/03/13 Python
python实现跨文件全局变量的方法
2014/07/07 Python
跟老齐学Python之再深点,更懂list
2014/09/20 Python
Python算法之求n个节点不同二叉树个数
2017/10/27 Python
详解python之协程gevent模块
2018/06/14 Python
浅析python中numpy包中的argsort函数的使用
2018/08/30 Python
Django 开发调试工具 Django-debug-toolbar使用详解
2019/07/23 Python
Python使用lambda表达式对字典排序操作示例
2019/07/25 Python
python基于K-means聚类算法的图像分割
2019/10/30 Python
利用python绘制正态分布曲线
2021/01/04 Python
CSS3使用多列制作瀑布流
2016/05/10 HTML / CSS
浅谈react路由传参的几种方式
2021/03/23 Javascript
人力资源管理专业毕业生自我评价
2013/09/21 职场文书
秋季开学典礼主持词
2014/03/19 职场文书
校运动会广播稿(100篇)
2014/09/12 职场文书
公司2015年终工作总结
2015/05/26 职场文书
《黄山奇石》教学反思
2016/02/18 职场文书
优秀大学生申请书
2019/06/24 职场文书