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中使用dict和set方法的教程
Apr 27 Python
Python通过正则表达式选取callback的方法
Jul 18 Python
socket + select 完成伪并发操作的实例
Aug 15 Python
python基础_文件操作实现全文或单行替换的方法
Sep 04 Python
python3读取csv和xlsx文件的实例
Jun 22 Python
python处理两种分隔符的数据集方法
Dec 12 Python
python获取本机所有IP地址的方法
Dec 26 Python
Python对HTML转义字符进行反转义的实现方法
Apr 28 Python
Django实现简单网页弹出警告代码
Nov 15 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
Mar 01 Python
什么是python类属性
Jun 10 Python
pycharm 实现调试窗口恢复
Feb 05 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 引用文件技巧
2010/03/02 PHP
有关JSON以及JSON在PHP中的应用
2010/04/09 PHP
深入apache host的配置详解
2013/06/09 PHP
分享最受欢迎的5款PHP框架
2014/11/27 PHP
php求一个网段开始与结束IP地址的方法
2015/07/09 PHP
PHP面向对象之事务脚本模式(详解)
2017/06/07 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
JS DOM 操作实现代码
2010/08/01 Javascript
js去除重复字符串两种实现方法
2013/01/09 Javascript
修改file按钮的默认样式实现代码
2013/04/23 Javascript
jQuery简单实现隐藏以及显示特效
2015/02/26 Javascript
JavaScript中数组添加值和访问值常见问题
2016/02/06 Javascript
js 函数式编程学习笔记
2017/03/25 Javascript
JavaScript实现的商品抢购倒计时功能示例
2017/04/17 Javascript
BootStrap中Table隐藏后显示问题的实现代码
2017/08/31 Javascript
解决使用vue.js路由后失效的问题
2018/03/17 Javascript
Python对两个有序列表进行合并和排序的例子
2014/06/13 Python
初学Python函数的笔记整理
2015/04/07 Python
python实现淘宝秒杀聚划算抢购自动提醒源码
2020/06/23 Python
python 字符串和整数的转换方法
2018/06/25 Python
python3 实现验证码图片切割的方法
2018/12/07 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
2019/03/29 Python
Python PyInstaller库基本使用方法分析
2019/12/12 Python
tensorflow获取预训练模型某层参数并赋值到当前网络指定层方式
2020/01/24 Python
Python sql注入 过滤字符串的非法字符实例
2020/04/03 Python
Python 实现PS滤镜的旋涡特效
2020/12/03 Python
学点简单的Django之第一个Django程序的实现
2021/02/24 Python
香港迪士尼乐园酒店预订:Hong Kong Disneyland Hotels
2017/05/02 全球购物
旷课检讨书3000字
2014/02/04 职场文书
环保建议书作文
2014/03/12 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
田径运动会通讯稿
2014/09/13 职场文书
2014政府领导班子对照检查材料思想汇报(3篇)
2014/09/26 职场文书
小学优秀教师事迹材料
2014/12/16 职场文书
Oracle设置DB、监听和EM开机启动的方法
2021/04/25 Oracle
vue如何批量引入组件、注册和使用详解
2021/05/12 Vue.js