Python 多版本管理利器 pythonbrew

欢迎阅读pythonbrew文档

在$HOME目录中管理python安装

简介

pythonbrew是受 perlbrew 和 rvm 启发,在用户的$HOME目录中进行python构建和安装自动化的项目。

另一衍生版本 : pythonz 。

安装

建议使用如下语句下载安装pythonbrew:

$ curl -kL http://xrl.us/pythonbrewinstall | bash

pythonbrew就会安装到 ~/.pythonbrew 。

然后在您的 ~/.bashrc 文件追加下面这一行:

[[ -s $HOME/.pythonbrew/etc/bashrc ]] && source $HOME/.pythonbrew/etc/bashrc
注:mac上没有.bashrc这一文件,用以下方法
1. 启动终端Terminal2. 进入当前用户的home目录    输入cd ~3. 创建.bash_profile    输入touch .bash_profile4.编辑.bash_profile文件
加入 [[ -s $HOME/.pythonbrew/etc/bashrc ]] && source $HOME/.pythonbrew/etc/bashrc
5. 保存文件,关闭.bash_profile6. 更新刚配置的环境变量    输入source .bash_profile

设置PYTHONBREW_ROOT环境变量可以pythonbrew安装到指定目录:

$ export PYTHONBREW_ROOT=/path/to/pythonbrew
$ curl -kLO http://xrl.us/pythonbrewinstall
$ chmod +x pythonbrewinstall
$ ./pythonbrewinstall

系统层(多用户环境)安装

在root用户环境下运行安装脚本,将自动将pythonbrew安装到 `` /usr/local/pythonbrew`` ,并为系统下的每个用户进行配置。

安装完成后,非root用户在使用pythonbrew就不必调用sudo,而是直接运行 sudosudopybrew 即可:

$ sudopybrew install -n -v -j2 2.7.2

用法

一般用法是:

pythonbrew command [options]

安装zlib-devel,解决setuptools安装失败的问题

yum -y install zlib-devel

安装不同版本的python:

pythonbrew install 2.7.2
pythonbrew install --verbose 2.7.2
pythonbrew install --test 2.7.2
pythonbrew install --test --force 2.7.2
pythonbrew install --configure="CC=gcc_4.1" 2.7.2
pythonbrew install --no-setuptools 2.7.2
pythonbrew install http://www.python.org/ftp/python/2.7/Python-2.7.2.tgz
pythonbrew install /path/to/Python-2.7.2.tgz
pythonbrew install /path/to/Python-2.7.2
pythonbrew install 2.7.2 3.2

永久性地使用某个特定版本的python(即每次登录shell都使用某个版本的python):

pythonbrew switch 2.7.2
pythonbrew switch 3.2

临时性地切换使用某个特定版本的python(即在当前shell中使用某个版本的python):

pythonbrew use 2.7.2

可以使用系统内所有版本/某个指定版本的python运行某个python文件:

pythonbrew py test.py
pythonbrew py -v test.py # 显示详细的输出结果
pythonbrew py -p 2.7.2 -p 3.2 test.py # 使用指定版本的python

列出系统内所有已安装的各个版本的python:

pythonbrew list

列出pythonbrew可以安装哪些版本的python:

pythonbrew list -k

删除某个特定版本的python:

pythonbrew uninstall 2.7.2
pythonbrew uninstall 2.7.2 3.2

清理陈旧的源码目录和档案包:

pythonbrew cleanup

升级到pythonbrew到最新版本:

pythonbrew update
pythonbrew update --master
pythonbrew update --develop

禁用pythonbrew(即切换回原始环境):

pythonbrew off

创建或移除指向某个python版本的符号链接(在您的$PATH中的某个目录):

pythonbrew symlink # 为已安装的各个版本的python都创建一个符号链接,形如"py2.7.2"。
pythonbrew symlink -p 2.7.2
pythonbrew symlink pip #创建指向bin目录下某个指定脚本的符号链接。
pythonbrew symlink -r # 移除符号链接。
pythonbrew symlink -v foo # 创建指向bin目录下某个指定的隔离环境的符号链接。

在当前或是某个特定版本的python中运行 buildout

pythonbrew buildout
pythonbrew buildout -p 2.6.6

创建python隔离环境(借助virtualenv)

pythonbrew venv init
pythonbrew venv create proj
pythonbrew venv list
pythonbrew venv use proj
pythonbrew venv delete proj
pythonbrew venv rename proj proj2

查看版本

pythonbrew version

命令

  • install <version>
  • 构建并安装某个给定版本的python,并自动安装setuptools和pip。
  • switch <version>
  • 永久切换到某个特定版本的python做为默认版本。
  • use <version>
  • 在当前shell下使用某个特定版本的python。
  • py <python file>
  • 使用所有版本/某个特定版本运行一个python文件。
  • list
  • 列出所有已安装的python版本。
  • list -k <version>
  • 列出所有可安装的python版本。
  • uninstall <version>
  • 删除某个特定版本的python。
  • cleanup
  • 移除陈旧的源码目录和档案包。
  • update
  • 升级pythonbrew到最新版本。
  • off
  • 禁用pythonbrew。
  • symlink
  • 创建或移除指向某个python版本的符号链接(在您的$PATH中的某个目录)。
  • buildout
  • 在当前或是某个特定版本的python中运行 buildout 。
  • venv
  • 创建python隔离环境(借助virtualenv)。
  • version
  • 查看版本。

查看更多细节,可以运行:

$ pythonbrew help <command>

相关文档和链接

  • Python 的虛擬環境及多版本開發利器─Virtualenv 與 Pythonbrew 。
  • Pythonbrew – 讓環境得以快速切換不同的Python版本 。

授权

MIT 开源协议

Copyright (c) <2010-2012> <utahta>

任何人都可以免费权限该软件和相关文档的副本,在处理软件上不受任何限制,包括但不限于使用,复制,修改,合并,发布,分发,转授和出售本软件的副本, 以及再授权等等,但获得以上权利必须履行以下义务

在软件和软件的所有副本中都必须包含版权声明和许可声明。

原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2014-11-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Ubuntu 16.04上安装Bro

Bro是一个开源网络分析框架和安全监控应用程序。它将OSSEC和osquery的一些最佳功能集成到一个包中。

1905
来自专栏IT笔记

Linux下如何查看CentOS版本

今天iptables居然不能使用了,赶紧查看了一下Linux版本了。居然更新到了CentOS7。 这里分享下查看命令: cat /etc/redhat-rele...

5519
来自专栏有困难要上,没有困难创造困难也要上!

SSH 首次登录太慢问题

4799
来自专栏北京马哥教育

Nginx专题: upstream模块和缓存的简单使用

前言 本文接着上篇Nginx专题: 从编译安装到URL重写来介绍Nginx的负载均衡模块使用方法, 本文的实验没有考虑大多数情况, 例如两个web服务器之间的数...

3137
来自专栏云计算教程系列

如何在Ubuntu 14.04上安装Munin监视工具

Munin是一个系统,网络和基础设施监控应用程序,通过Web浏览器以图形形式提供信息。它是围绕客户端 - 服务器架构设计的,可以配置为监控它所安装的机器(Mun...

670
来自专栏惨绿少年

NFS存储服务部署

第1章 NFS介绍 1.1 NFS服务内容的概述 □ RPC服务知识概念介绍说明,以及RPC服务存在价值(必须理解掌握) □ NFS服务工作原理讲解(必须理解掌...

4430
来自专栏mukekeheart的iOS之旅

Mac OS Sierra如何打开任何来源

  我们知道在Mac升级到最新的Mac OS Sierra系统之后,随之而来的是第三方应用都无法打开,提示的是无法打开或扔进废纸篓。而在之前的版本系统中,我们知...

3755
来自专栏云计算教程系列

如何将ownCloud转换为Nextcloud

ownCloud的核心开发团队中一部分人员启动了一个名为Nextcloud的项目。虽然ownCloud将继续开发,但您可能想了解新项目的功能。Nextcloud...

4272
来自专栏FreeBuf

XSS利用之延长Session生命周期

1.0 话题准备 —— session 和 cookie 的原理 —— ▌1.1 session介绍 ---- 简单介绍:PHP session 变量用于存储...

1919
来自专栏张善友的专栏

ASP.NET 2.0 中 Web 事件

ASP.NET 2.0 还提供了全功能的应用程序监视和健康监视。这个系统是由一个完全可扩展事件模型和一个能将事件发送到多种接收器的事件引擎组成的。举例来说,您可...

2067

扫码关注云+社区