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小脚本查询同ip网站
May 08 Python
如何用python写一个简单的词法分析器
Dec 18 Python
Python简单过滤字母和数字的方法小结
Jan 09 Python
对于Python深浅拷贝的理解
Jul 29 Python
详解Python图像处理库Pillow常用使用方法
Sep 02 Python
pygame实现五子棋游戏
Oct 29 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
Apr 20 Python
PyQt中使用QtSql连接MySql数据库的方法
Jul 28 Python
Python装饰器如何实现修复过程解析
Sep 05 Python
python 密码学示例——理解哈希(Hash)算法
Sep 21 Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
Jan 09 Python
python中24小时制转换为12小时制的方法
Jun 18 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个人网站架设连环讲(三)
2006/10/09 PHP
php 获取远程网页内容的函数
2009/09/08 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
py文件转exe时包含paramiko模块出错解决方法
2016/08/12 PHP
Laravel使用memcached缓存对文章增删改查进行优化的方法
2016/10/08 PHP
PHP中函数gzuncompress无法使用的解决方法
2017/03/02 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
用js实现的仿sohu博客更换页面风格(简单版)
2007/03/22 Javascript
JQUERY dialog的用法详细解析
2013/12/19 Javascript
node.js中的fs.closeSync方法使用说明
2014/12/17 Javascript
浅谈javascript构造函数与实例化对象
2015/06/22 Javascript
JS基于面向对象实现的拖拽功能示例
2016/12/20 Javascript
JS对象的深度克隆方法示例
2017/03/16 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
微信小程序实现tab页面切换功能
2018/07/13 Javascript
vue+SSM实现验证码功能
2018/12/07 Javascript
手把手教你使用TypeScript开发Node.js应用
2019/05/06 Javascript
基于Vue+ElementUI的省市区地址选择通用组件
2019/11/20 Javascript
jQuery 图片查看器插件 Viewer.js用法简单示例
2020/04/04 jQuery
vue使用exif获取图片旋转,压缩的示例代码
2020/12/11 Vue.js
python实现dict版图遍历示例
2014/02/19 Python
利用Anaconda简单安装scrapy框架的方法
2018/06/13 Python
python调用动态链接库的基本过程详解
2019/06/19 Python
Python实现线性判别分析(LDA)的MATLAB方式
2019/12/09 Python
Django的ListView超详细用法(含分页paginate)
2020/05/21 Python
Python过滤掉numpy.array中非nan数据实例
2020/06/08 Python
Python偏函数Partial function使用方法实例详解
2020/06/17 Python
Windows下pycharm安装第三方库失败(通用解决方案)
2020/09/17 Python
python excel多行合并的方法
2020/12/09 Python
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
创联软件面试题笔试题
2012/10/07 面试题
个人违纪检讨书
2014/09/15 职场文书
机关工会工作总结2015
2015/05/26 职场文书
2016党员干部反腐倡廉心得体会
2016/01/13 职场文书
感谢信的技巧及范例
2019/05/15 职场文书
晶体管来复再生式二管收音机
2021/04/22 无线电