在Ubuntu下配置舒服的Python开发环境

Ubuntu 提供了一个良好的 Python 开发环境,但如果想使我们的开发效率最大化,还需要进行很多定制化的安装和配置。下面的是我们团队开发人员推荐的一个安装和配置步骤,基于 Ubuntu 12.04 桌面版本标准安装。

安装 Python 发布版本和 build 依赖包

建议至少安装 Python 2.7/3.2 版本,毕竟 Python 2.X/3.X 还是有不少区别的。

1
2
3
4
# 安装 Python 发布版本,dev包必须安装,很多用pip安装包都需要编译
sudo apt-get install python2.7 python2.7-dev python3.2 python3.2-dev
# 很多pip安装的包都需要libssl和libevent编译环境
sudo apt-get install build-essential libssl-dev libevent-dev libjpeg-dev libxml2-dev libxslt-dev

安装 pip 和 virtualenv

pip 是 Python 的包管理工具,建议 Python 的包都用 pip 进行管理。virtualenv是 Python 多版本管理的利器,不同版本的开发调试全靠它了。

1
2
3
4
# 安装 pip
sudo apt-get install python-pip
# 安装 virtualenv
sudo pip install virtualenv

配置个人用 virtualenv

尽量在 virtualenv 下进行 Python 包的安装。

1
2
3
4
5
# 安装 python2.7 virtualenv
virtualenv --no-site-packages -p /usr/bin/python2.7 ~/.venv/python2.7 # 安装 python3.2 virtualenv
virtualenv --no-site-packages -p /usr/bin/python3.2 ~/.venv/python3.2

然后将下面的代码增加到~/.bashrc的最后面,缺省使用 virtualenv 来代替系统 Python 环境:

1
2
3
4
# 缺省激活python2.7环境
if [ -f ~/.venv/python2.7/bin/activate ]; then
. ~/.venv/python2.7/bin/activate
fi

安装 git 和 gitflow

git是使用 github 必备,目前最好的版本管理工具。

1
$ sudo apt-get install git

配置 git:

1
2
3
4
5
6
7
8
9
10
11
12
# 常用的命令都设置alias,尽量少敲键盘
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.co checkout
git config --global alias.st status
# 很好看地显示git log
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen (%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --"
# 设置用户信息
git config --global user.name "Your Name"
git config --global user.email you@email.com
# 缺省使用颜色显示
git config --global color.ui true

安装 git-flow,使用标准化 git 分支流程,参见:

1
sudo apt-get install git-flow

安装 bash-it

bash-it可以美化你的 bash 环境,让你更高效地使用控制台终端,详细信息参见bash-it github 网站

1
2
git clone http://github.com/revans/bash-it.git ~/.bash_it
~/.bash_it/install.sh

安装的时候可以选择所有的 alias/plugins/completion,如果自定义选择,一定将virtualenvgit插件选择上。

安装完成后将下面的代码附加到~/.bashrc的后面:

1
2
3
if [ -f ~/.bash_profile ]; then
. ~/.bash_profile
fi

bash-it安装完成后缺省使用 bobby 样式(可以参见~/.bash_profile里定义的环境变量BASH_IT_THEME),编辑~/.bash_it/themes/bobby/bobby.theme.bash,在PS1的定义里增加${green}$(virtualenv_prompt),如下:

1
PS1="\n${yellow}$(ruby_version_prompt)${green}$(virtualenv_prompt) ${purple}\h ${reset_color}in ${green}\w\n${bold_cyan}$(scm_char)${green}$(scm_prompt_info) ${green}→${reset_color} "

注:样式定义参加文件~/.bash_profile里定义的环境变量BASH_IT_THEME,你也将其值更改成其他~/.bash_it/themes里定义的样式。

最后重启终端,你将看到一个不一样的bash,支持显示git分支,virtualenvrvm等。

安装 Sublime Text 2

在浏览器进入 Sublime Text 2 官网,选择适合的版本下载安装。

安装完成后还需要安装Sublime Text 2Package Control。安装细节参见 Sublime Packages 安装

最后,按快捷键Ctrl+Shift+P调出命令窗口,选择Package Control: Install Package,安装 Python 开发常用的插件:

  • Auto Encoding for Python
  • BracketHighlighter
  • Git
  • Markdown Preview
  • Python Auto-Complete
  • SublimeLinter
  • SidebarEnhancements
  • SublimeCondeIntel
  • sublime-github
  • Dayle Rees Color Schemes

这里推荐一下插件 sublime-github,能在 Sublime 里查看,增加,修改GitHub Gist。如果你和团队都使用 Github Gist 来存储自己常用的代码片段,这将非常方便大家去迅速查找和共享解决常见问题的代码片段。

  • 首先进入github 新建一个个人 API 访问 token;
  • 运行 Sublime,选择菜单Preferences–>Package Settings–>GitHub–>Settings-Default,将上面生成的token复制到 github_token字段,保存。

之后你就可以按快捷键Ctrl+Shift+P,选择GitHub: Open Gist in Editor,然后选择你自己的 Gist 即可。

安装并配置 Vim

有了 Sublime Text,大部分情况下都不需要 Vi 了,但的确有些时候进行很小的改动还是用 Vi 最方便。Ubuntu的缺省安装应当已经包括了 Vim,如果没有,运行下面命令安装 Vim。

1
sudo apt-get install vim

然后,参考Amix’s Vimrc来配置 Vim。


至此,所有的基本环境就已经配备完成,希望这些配置能对大家有所帮助,下面是配置好的界面截屏。

转[开发环境配置]在Ubuntu下配置舒服的Python开发环境的更多相关文章

  1. Ubuntu下基于Virtualenv构建Python开发环境

    1.安装virtualenv并建立虚拟环境 1).更新pip版本 sudo pip install --upgrade pip 如果出现如下异常: File , in <module> f ...

  2. Ubuntu下利用vim搭建python开发环境

    1. 安装vim $ sudo apt-get install vim 2. 安装ctags,ctags用于支持taglist,必需! $ sudo apt-get install ctags 3. ...

  3. Ubuntu 下一个 vim 建立python 周围环境 构造

    于Windows通过使用各种现成的工具使用,去Linux下一个,没有一个关于线索--总之google有些人的经验,折腾来折腾,开发环境也算是一个好工作. 1. 安装完成vim # apt-get in ...

  4. Ubuntu下配置C/C++开发环境

    在 Ubuntu 下配置 C/C++ 开发环境 转自:白巴的临时空间 Submitted by 白巴 on 2009-04-27 19:52:12. 学习笔记 虽然 Ubuntu 的版本已经是9.04 ...

  5. (4)Linux(ubuntu)下配置Opencv3.1.0开发环境的详细步骤

    Ubuntu下配置opencv3.1.0开发环境 1.最近工作上用到在Ubuntu下基于QT和opencv库开发应用软件(计算机视觉处理方面),特把opencv的配置过程详细记录,以供分享 2.步骤说 ...

  6. 在Ubuntu下搭建ASP.NET 5开发环境

    在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...

  7. Ubuntu下配置python完成爬虫任务(笔记一)

    Ubuntu下配置python完成爬虫任务(笔记一) 目标: 作为一个.NET汪,是时候去学习一下Linux下的操作了.为此选择了python来边学习Linux,边学python,熟能生巧嘛. 前期目 ...

  8. Ubuntu下配置Nginx HTTPS

    HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即HTTP下加入S ...

  9. ubuntu下配置JDK的一些坑点

    ubuntu下配置JDK的一些坑点 在centos下的JDK配置: 在ubuntu下的话,要修改两个地方: 在/etc/enviornment中配置! 在/etc/profile中配置! 写在最后: ...

随机推荐

  1. Oracle中的Temporary tablespace的作用

    临时表空间主要用途是在数据库进行排序运算[如创建索引.order by及group by.distinct.union/intersect/minus/.sort-merge及join.analyze ...

  2. Java虚拟机9:Java类加载机制

    前言 我们知道我们写的程序经过编译后成为了.class文件,.class文件中描述了类的各种信息,最终都需要加载到虚拟机之后才能运行和使用.而虚拟机如何加载这些.class文件?.class文件的信息 ...

  3. 上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些?各有什么优缺点?并在Github注册账户,写一篇博客记录注册的过程。

    问题一:上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些?各有什么优缺点?(以下内容为网上查询所得) Microsoft TFS(Team Foundation Server): 优点: ...

  4. Aspectj 实现Method条件运行

    最近我花了半个小时实现了一个Method的按自定义条件运行的plugin,Condition-Run.实现场景是由于我所工作的客户经常会是在同一个代码集上实现多个Brand,所以有些功能只会限制是几个 ...

  5. Linux time命令

    说明:喜欢写小程序的人都特别注重自己程序的执行效率,那么在Linux上,就有一个time的命令,用于测量命令的运行时间,还可以测量内存.I/O等的使用情况. 一个程序在运行时使用的系统资源通常包括CP ...

  6. Visual Studio 2010 实用功能:使用web.config发布文件替换功能

    当建立ASP.NET Web应用程序项目后,默认除了生成web.config外,还生成了web.debug.config与Web.Release.config.顾名思义,根据它们的命名我可以推测到他们 ...

  7. Java程序员的日常 —— 注册工厂的妙用

    注册工厂是一种很常用的框架书写方法,它适合于快速创建相同类型的对象. 举个栗子 比如一个家具工厂,有沙发.椅子.茶几等等,正常的编程模式是这样的: //创建 class 沙发{} class 椅子{} ...

  8. salesforce 零基础开发入门学习(一)Salesforce功能介绍,IDE配置以及资源下载

    目前国内已经有很多公司做salesforce,但是国内相关的资料确是少之又少.上个月末跳槽去了新公司,主要做的就是salesforce,不过当时想要看一些相关资料确实比较难.为了避免想要零基础学习的人 ...

  9. POI生成WORD文档

    h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h ...

  10. Javascript快速入门(上篇)

    Javascript的熟练之路,小弟来了. JavaScript简介:JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript ...