2

如何在某些应用程序中使用 python 2.7,同时为操作系统保留 python 2.6?

我正在使用 CentOS6.6(基于 RHEL 6 / Fedora 12),并且想安装一些最近的软件包,例如 meld 3.13、最新的 rabbitcvs 等...它需要 python 2.6 才能运行。

当我尝试运行 meld 3.13 时,它显示“Meld 需要 Python 2.7 或更高版本”。

我已经按照本教程http://toomuchdata.com/2014/02/16/how-to-install-python-on-centos/先后安装了python 2.7

我怎样才能告诉 meld 使用 python2.7 ?

4

2 回答 2

3

在 CentOS 6 上为某些应用程序安装 python 2.7 的最佳方法是使用Software Collections ,而不触及默认系统提供的 python 2.6 。

软件集合python27的检查页面,它提供了如何安装它的描述和指向包的链接。

它的工作原理是这样的:集合将包安装到单独的目录树中,并且在启用/opt/rh/python27之前没有任何效果。

在您的情况下,您可以创建包装器脚本,该脚本将运行您的带有python27集合的融合版本。例如将以下脚本保存到~/bin/meld

#!/bin/bash
COMMAND="/path/to/your/meld $@"
scl enable python27 "$COMMAND"

然后每次运行 meld 命令时,它都会由 python2.7 执行(假设您的 meld 在您的PATH.

在Packaging Wrappers for Software Collections中查看更多详细信息(虽然您没有打包任何东西,但使用 wrapper 的提示似乎对您的情况很有用)。

于 2015-06-06T06:12:33.883 回答
1

virtualenv 是一个创建隔离 Python 环境的工具。

例如:

$ python --version  # 2.7.6
$ sudo pip install virtualenv
$ mkdir myproject
$ cd myproject
$ virtualenv -p /usr/bin/python3.4 myenv  # assign python version
$ . myenv/bin/activate
(myenv)$ python --version  # 3.4.3

现在您可以在虚拟环境中使用 python 3.4。

退出:

$ deactivate
于 2016-04-27T05:22:16.553 回答