本文主要是介绍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
这篇关于CentOS安装Python3.6.5的流程指导(多坑)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!