CentOS安装Python3.6.5的流程指导(多坑)

为了给centos服务器的pyspark升级成python3.6的,安装anaconda之后输入python已经自动使用了anaconda自带的python版本,但是如果尝试用

ln -s /root/anaconda3/lib/python3.6 /usr/bin/python

!!!这样操作过后使用yum命令会报错,因为yum是使用python2.7的,所以还是使用以下的软链接!!!

ln -s /root/anaconda3/lib/python3.6 /usr/bin/python3

建立一个软链接,会提示-bash: /usr/bin/python: Is a directory报错,原因是anaconda这个python目录真的是个目录,而如果自己安装的python版本的话可以在安装位置找到python的执行文件,使用file命令可以查看文件类型,分别如下

#Anaconda
symbolic link to `/root/anaconda3/lib/python3.6'
[root@ml-cent-1 bin]# file /root/anaconda3/lib/python3.6
/root/anaconda3/lib/python3.6: directory

#Python发行版
symbolic link to `/usr/local/python3/bin/python3.6'
[root@ml-cent-1 bin]# file /usr/local/python3/bin/python3.6
/usr/local/python3/bin/python3.6: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=xxxx, not stripped

如果直接用下面指令设置pyspark的python版本,

export PYSPARK_PYTHON=python3

如果python3指向的是一个directory,那么在运行spark的时候因为open指令打开了文件夹会报错

WARN  TaskSetManager:66 - Lost task 1.0 in stage 4.0 (TID 13, 192.168.1.27, executor 0): java.io.IOException: Cannot run program "python3": error=13, Permission denied

看起来只是个警告,实际上之后实用的python版本应该回到了原来的python2.7

所以还是需要自己再安装个python3.6给spark指定路径的,强烈建议参考该文章,之前我就是没有做步骤2,3,7导致一堆错误。

其中第7步那行注释位置在文件很靠后的位置,大概在这片区域

# Andrew Kuchling's zlib module.
# This require zlib 1.1.3 (or later).
# See http://www.gzip.org/zlib/
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

另外要提示的是第8步可以设置安装路径

./configure --prefix=/usr/local/python3

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值