Centos 6.x 共存安装Python 2.7 or 3.x

Centos 6.x 共存安装Python 2.7 or 3.x

Posted April 21, 2016

由于yum命令依赖系统的python2.6, 所以如果直接覆盖的话,会导致yum不能工作。 所以自带的python 2.6绝对不能动。 不过可以通过自定义安装来共存两套或多套python环境。 再配合virtualenv 隔离项目环境.

这里演示安装Python2.7 :

首先安装系统依赖包

Bash

yum install zlib-devel
yum install bzip2-devel
yum install openssl-devel
yum install ncurses-devel
yum install sqlite-devel

下载Python2.7 源码编译安装

Bash

cd /usr/local/src;
wget --no-check-certificate https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tar.xz
tar xf Python-2.7.11.tar.xz
cd Python-2.7.11
./configure --prefix=/usr/local/python27
make && make install

安装pip

使用python27安装pip

Bash

wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
/usr/local/python27/bin/python ez_setup.py
/usr/local/python27/bin/easy_install pip

到这里python2.7.11 和 pip套件都安装了可以使用了。 下一步就是把/usr/local/python27/bin/ 加入$PATH变量。

安装virtualenvwrapper

这一步实在自带的python2.6 上执行的, 所以如果用python 2.7 需要再创建的虚拟环境的时候指定

Bash

pip install virtualenvwrapper

然后再~/.bashrc文件追加以下操作

~/.bashrc or ./zshrc bash source $(which virtualenvwrapper.sh)

然后source ~/.bashrc 这样就可以使用workonmkvirtualenvrmvirtualenv命令.具体的指南参考 virtualenvwrapper

创建基于Python 2.7 的虚拟环境

Bash

mkvirtualenv ansible -p /usr/local/python2.7.11/bin/python

错误处理

第一个错误, source $(which virtualenvwrapper.sh)出现logging no NullHandler

Python

Traceback (most recent call last):
  File "/usr/lib64/python2.6/runpy.py", line 122, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib64/python2.6/runpy.py", line 34, in _run_code
    exec code in run_globals
  File "/usr/lib/python2.6/site-packages/virtualenvwrapper/hook_loader.py", line 16, in <module>
    from stevedore import ExtensionManager
  File "/usr/lib/python2.6/site-packages/stevedore/__init__.py", line 23, in <module>
    LOG.addHandler(logging.NullHandler())
AttributeError: 'module' object has no attribute 'NullHandler'
virtualenvwrapper.sh: There was a problem running the initialization hooks.

If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python and that PATH is

处理方法, 升级stevedore

Python

pip install stevedore

python 2.6.6 可以升级到1.3.0 就可以了.

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

115个Java面试题和答案——终极列表(下)

第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDB...

904
来自专栏码农阿宇

asp.net core轻松入门之MVC中Options读取配置文件

接上一篇中讲到利用Bind方法读取配置文件 ASP.NET Core轻松入门Bind读取配置文件到C#实例 那么在这篇文章中,我将在上一篇文章的基础上,利...

2444
来自专栏吴伟祥

Linux vi/vim 转

所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。

791
来自专栏技术博客

C#简单的面试题目(六)

76.HashMap和Hashtable的区别。 答:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于H...

852
来自专栏Java后端技术

Linux的Bash Shell详解

  1.什么是bash           bash是Bourne Again Shell的简称,是从unix系统中的sh发展而来的,是用户和Linux内核交互...

974
来自专栏农夫安全

代码审计入门总结

0x00 简介 ---- 之前看了seay写的PHP代码审计的书,全部浏览了一遍,作为一个代码审计小白,希望向一些和我一样的小白的人提供一下我的收获,以及一个整...

3427
来自专栏飞雪无情的博客

Go语言实战笔记(三)| Go Doc 文档

对于协作开发或者代码共享来说,文档是一个可以帮助开发者快速了解以及使用这些代码的一个教程,文档越全面,越详细,入门越快,效率也会更高。

1283
来自专栏Vamei实验室

被解放的姜戈04 各取所需

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 我们在庄园疑云中讲到了服务器上的数据。当...

1995
来自专栏精讲JAVA

【续】Java面试基础必备知识点,怼死面试官,从我做起

输入标题 小海哥的封面越骚,内容越有味的更新,马上接近尾声了,还有一个数据库更新,外加jvm深度解析,hashMap源码必读,最后放几篇大厂的 ...

4525
来自专栏我和PYTHON有个约会

Django来敲门~第一部分【9.使用Django内置视图处理对象简化开发】

首先,要说这是Django基础部分的最后一个章节了。后面会详细讲解Django每一部分的使用方式和API了

1143

扫码关注云+社区

领取腾讯云代金券