Python 多版本管理工具

虽然在多版本问题上 Python 的蛋疼度要比 Ruby 轻很多,但是多版本的问题总归是存在的,尤其是在当前 Python 由2.*过渡3.*的大环境下,很多时候不得不面对版本问题,为了让这个问题解决的轻松,解放我们的双手,我们需要工具的帮助。

主要涉及的工具就是 virtualenv 和 pythonbrew 。

一般的发行版的 Python 是这么组织的,有一个 python ,有一个 python2.* , python 指向这个 python2.* ,不仅作为默认的 python 版本环境,也给系统其他需要python的地方提供支持。所以假设我们需要Python3.*的环境,那很简单,直接通过源安装一个Python3,然后利用这个python3,制作virtualenv,就可以很方便的建立一个干净的python3环境。只要不把python指向到python3那么系统内的python3是独立存在的,不会对其他使用python的地方产生什么影响。

Python 在大版本下的兼容做的还是不错的,起码在标准库层面不会遇到什么的问题,对于在PyPi上发布的第三方库,如果真的对于小版本有特别需要可以使用easy_install和pip安装的时候指定版本。当然需求是千变万化的,如果希望对于版本有更精确的控制,那么就需要 virtualenv 和 pythonbrew 登场了。

在对于多版本的问题的处理上 virtualenv 和 pythonbrew 不同的, virtualenv 是建立一个相对独立的 python 环境,建立的时候可以更具不同python版本建立对应版本的独立空间,而建立好以后就可以在空间中独立安装和使用各种不同版本的库,这样就达到了多版本的管理。而 pythonbrew 类似 ruby 下的 rvm 。

virtualenv 的使用就不多说了,另外也可以使用 virtualenvwrapper 增强 virtualenv 的功能。

pythonbrew 的使用如下:(另外需要注意的是,pythonbrew 中安装的各版本 python 都放在 ~/.pythonbrew 中)

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

用法

一般用法是:

pythonbrew command [options]

安装不同版本的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


http://ieqi.net/2013/06/27/python-%E5%A4%9A%E7%89%88%E6%9C%AC%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值