文档章节

手工安装Python3.4.6

仰望星空的伤心胖熊
 仰望星空的伤心胖熊
发布于 2017/02/13 15:28
字数 890
阅读 211
收藏 0

安装开发库文件
编译Python只要有gcc编译器就足够了,但一些扩展模块需要额外的库,否则一些Python模块将不可用(比如Python的zlib模块需要zlib-devel,ssl模块需要openssl-devel)。用户可以根据需要,选择性的安装这些扩展模块。这里我们安装zlib、ssl和sqlite3的库文件。

   yum install zlib-devel openssl-devel sqlite-devel 

下载Python
目前最新版本为2.7.8。wget的过程可能会非常慢,可以先把包下载下来,再传上去。

  wget  https://www.python.org/ftp/python/3.4.6/Python-3.4.6.tgz


  
编译安装
为了方便管理,将Python安装到/usr/local/python路径下。

[root@soc yangnz]# ls
isoimages  logs  Python-3.4.6  Python-3.4.6.tgz
[root@soc yangnz]# cp Python-3.4.6.tgz /usr/local/python/
[root@soc yangnz]# cd /usr/local/python/
[root@soc python]# ls
Python-3.4.6.tgz
[root@soc Python-3.4.6]# tar -zxvf Python-3.4.6.tgz 
[root@soc Python-3.4.6]# cd Python-3.4.6
[root@soc Python-3.4.6]# ./configure --prefix=/usr/local/python
[root@soc Python-3.4.6]# make

[root@soc Python-3.4.6]# make install
……
            $ensurepip --root=/ ; \
    fi
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-9.0.1 setuptools-28.8.0

 

替换系统自带Python
安装后,Python 3.4.6 的可执行文件位于/usr/local/python/Python-3.4.6。
先将系统自带的Python重命名为python2.6,再创建新的Python到/usr/bin目录下的符号链接。

[root@soc bin]# python --version
Python 2.6.6
[root@soc bin]# pwd
/usr/bin
[root@soc bin]# cp /usr/local/python/Python-3.4.6/python /usr/bin/python3.4
[root@soc bin]# cd /usr/bin
[root@soc bin]# ls python*
python  python2  python2.7  python3.4
[root@soc bin]# ln -sf python3.4 python
  -s = soft,意为软链接   -f = force,表示强制创建(使用前请备份之前存在文件)
[root@soc bin]# ll python
lrwxrwxrwx. 1 root root 9 2月  15 18:02 python -> python3.4
[root@soc bin]# python --version
Python 3.4.6

 

修正yum
现在,系统默认调用Python3.4.6,执行yum会出现如图四所示错误。

 [root@soc yangnz]# yum
  File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
SyntaxError: invalid syntax

解决方法:将/usr/bin/yum文件开头的第一行代码: 

#!/usr/bin/python

修改为:

#!/usr/bin/python2.6    //2.6为原来python版本

 

修改/usr/libexec/urlgrabber-ext-down错误

此时,使用yum 命令,可以正常使用了,但在后面使用yum具体升级部分组件的时候,发现了一些错误:

[root@CentOS-7 jdk1.8.0_121]# yum install perl-devel
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 perl-devel.x86_64.4.5.16.3-291.el7 将被 安装
--> 正在处理依赖关系 systemtap-sdt-devel,它被软件包 4:perl-devel-5.16.3-291.el7.x86_64 需要
--> 正在处理依赖关系 perl(ExtUtils::ParseXS),它被软件包 4:perl-devel-5.16.3-291.el7.x86_64 需要
--> 正在处理依赖关系 perl(ExtUtils::MakeMaker),它被软件包 4:perl-devel-5.16.3-291.el7.x86_64 需要
--> 正在处理依赖关系 perl(ExtUtils::Installed),它被软件包 4

……

=======================================================================================================================
安装  1 软件包 (+7 依赖软件包)

总下载量:1.0 M
安装大小:3.1 M
Is this ok [y/d/N]: Y
Downloading packages:
  File "/usr/libexec/urlgrabber-ext-down", line 28
    except OSError, e:
                  ^
SyntaxError: invalid syntax
  File "/usr/libexec/urlgrabber-ext-down", line 28
    except OSError, e:
                  ^
SyntaxError: invalid syntax


由于用户取消而退出

查看/usr/libexec/urlgrabber-ext-down文件,发现它的配置里面也是直接调用的python:

[root@CentOS-7 jdk1.8.0_121]# cat /usr/libexec/urlgrabber-ext-down 
#! /usr/bin/python
……

改为:

[root@CentOS-7 jdk1.8.0_121]# cat /usr/libexec/urlgrabber-ext-down
#! /usr/bin/python2.7

改好后,就可以正常升级组件了

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
仰望星空的伤心胖熊
粉丝 0
博文 16
码字总数 9715
作品 0
南京
产品经理
加载中

评论(1)

仰望星空的伤心胖熊
仰望星空的伤心胖熊
CentOS 6.2报no acceptable C compiler found in $PATH

需要安装gcc:
# yum -y install gcc
jenkins插件的安装与卸载

说明 Jenkins大部分的功能都是插件来实现的,所以必须知道jenkins插件的安装和卸载。 一、配置插件代理 jenkins在安装插件时候经常出现无法安装的情况,所以可以通过配置jenkins代理,来解决...

日久不生情
2017/11/17
0
0
005 Solidity开发工具Atom和插件在Ubuntu上安装

Solidity官网推荐开发工具 https://solidity.readthedocs.io/en/latest/index.html# 1、手工安装Atom Atom官方地址:https://atom.io/ 下载deb安装包,手工安装 sudo apt-get -f install su......

小步2013
01/11
0
0
如何手工卸载和安装NTKO OFFICE文档控件

如何手工卸载和安装NTKO OFFICE文档控件? 1、何时进行手工卸载和安装 一般情况下应该让客户端自动控件,这样当服务器控件版本更新时,客户端可以获得自动升级方面的好处。但是,如果因为客户...

yangxin0917
2014/12/18
0
0
在安装seaborn等包时,使用pip install安装不成功

在安装seaborn等包时,使用pip install seaborn安装不成功,报错有:Failed building wheel for scipy,Failed cleaningbuild dir for scipy。 图二第一行显示了Failed to build scipy。 所以...

式_AI
2017/08/22
0
0
Sql server安装时出现找不到vc_red.msi错误

Sql server安装时出现找不到vcred.msi错误,要求手工定位这个文件。问题是定位到那个文件,然后继续,安装还是失败。 以前从来没有遇到过。反复重试几次都不行。 把sql server 2014换成sp1也...

一曲忠臣的战歌
2016/03/19
751
0

没有更多内容

加载失败,请刷新页面

加载更多

TypeScript基础入门之高级类型的字符串字面量类型

转发TypeScript基础入门之高级类型的字符串字面量类型 高级类型 字符串字面量类型 字符串字面量类型允许你指定字符串必须的固定值。 在实际应用中,字符串字面量类型可以与联合类型,类型保护...

durban
22分钟前
2
0
iOS权限授权添加

<!-- 相册 --> <key>NSPhotoLibraryUsageDescription</key> <string>App需要您的同意,才能访问相册</string> <!-- 相册写入 --> <key>NSPhotoLibraryAddUsageDescription</key> <string>App......

RainOrz
26分钟前
1
0
支配树(Dominator Tree)

MAT中的支配树 在使用MAT分析项目的内存泄漏问题时,其中有一个支配树(Dominator)视图。如果我们把Java对象之间的引用关系看做一张有向图(可以存在环)的话,对象的支配树体现了对象之间的...

akane_oimo
28分钟前
1
0
xshell官网下载及安装(免费版本)

百度搜索xshell,点击xshell官网下载链接,如图 然后点击下图的按钮 点击Latest Products,可以下载最新版本,选择要下载的版本,点击下载 选择上面红框里面的,并填写内容,submit之后会有邮...

曾大大胖
32分钟前
2
0
Android 调用系统分享文字、图片、文件,可直达微信、朋友圈、QQ、QQ空间、微博

兼容SDK 18以上的系统,直接调用系统分享功能,分享文本、图片、文件到第三方APP,如:微信、QQ、微博等 因为偷懒,可直达微信、朋友圈、QQ、QQ空间、微博的分享仅写了图片分享的,其他的文本...

她叫我小渝
34分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部