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 相关文章推荐
合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友
Apr 09 Python
python完成FizzBuzzWhizz问题(拉勾网面试题)示例
May 05 Python
Python3 replace()函数使用方法
Mar 19 Python
Python常用字符串替换函数strip、replace及sub用法示例
May 21 Python
pandas 实现字典转换成DataFrame的方法
Jul 04 Python
python 实现语音聊天机器人的示例代码
Dec 02 Python
详解Matplotlib绘图之属性设置
Aug 23 Python
解决Django连接db遇到的问题
Aug 29 Python
Python约瑟夫生者死者小游戏实例讲解
Jan 04 Python
详解Pymongo常用查询方法总结
Jan 29 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
Feb 05 Python
Python激活Anaconda环境变量的详细步骤
Jun 08 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
VOLVO车载收音机
2021/03/02 无线电
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
2010/08/01 PHP
php中如何使对象可以像数组一样进行foreach循环
2013/08/09 PHP
php接口和抽象类使用示例详解
2014/03/02 PHP
PHP OPP机制和模式简介(抽象类、接口和契约式编程)
2014/06/09 PHP
PHP分页类集锦
2014/11/18 PHP
Laravel框架表单验证操作实例分析
2019/09/30 PHP
详解阿里云视频直播PHP-SDK接入教程
2020/07/09 PHP
JavaScript 对象模型 执行模型
2010/10/15 Javascript
jQuery仿gmail实现fixed布局的方法
2015/05/27 Javascript
javascript 动态脚本添加的简单方法
2016/10/11 Javascript
JavaScript的继承实现小结
2017/05/07 Javascript
layer扩展打开/关闭动画的方法
2019/09/23 Javascript
Vue中component标签解决项目组件化操作
2020/09/04 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
[00:34]TI7不朽珍藏III——纯金地穴编织者饰品展示
2017/07/15 DOTA
python中lambda()的用法
2017/11/16 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
2018/03/19 Python
Python异常的检测和处理方法
2018/10/26 Python
python 找出list中最大或者最小几个数的索引方法
2018/10/30 Python
python random从集合中随机选择元素的方法
2019/01/23 Python
用Python解决x的n次方问题
2019/02/08 Python
PyTorch的深度学习入门教程之构建神经网络
2019/06/27 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
2019/09/25 Python
Pytorch中实现只导入部分模型参数的方式
2020/01/02 Python
韩国家庭购物网上商店:Nsmall
2017/05/07 全球购物
CheapTickets泰国:廉价航班,查看促销价格并预订机票
2019/12/28 全球购物
SheIn沙特阿拉伯:女装在线
2020/03/23 全球购物
The North Face意大利官网:服装、背包和鞋子
2020/06/17 全球购物
留学推荐信中文范文三篇
2014/01/25 职场文书
六一文艺汇演开幕词
2015/01/29 职场文书
事业单位个人总结
2015/02/12 职场文书
中学总务处工作总结
2015/08/12 职场文书
Python数据清洗工具之Numpy的基本操作
2021/04/22 Python
springboot集成flyway自动创表的详细配置
2021/06/26 Java/Android
Win11 Beta 22621.601 和 22622.601今日发布 KB5017384修复内容汇总
2022/09/23 数码科技