大数据实战-pyspark使用

本文详细介绍了在CentOS7环境下安装Python3的方法,包括下载、编译、配置及常见错误解决,如ssl模块缺失、_ctypes模块未找到等问题,并提供了安装ipython、设置pyspark启动版本的步骤。

centos 7安装python3

https://www.python.org/ftp/python

选择相应的版本,然后直接下载,或者wget

解压

tar -xvf Python-3.6.3.tgz

源码编译安装python3

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

不能忽略相关包,我之前就没有安装readline-devel导致执行python模式无法使用键盘的上下左右键;

 

如果没有ssl 模块:

import ssl报错

import _ssl             # if we can't import it, let the error propagate
ImportError: No module named _ssl

重新用下面的跑一次:

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

make

make altinstall

#然后输入以下命令 ,创建一个软链接

ln -s /usr/local/python3/bin/python3 /usr/bin/python3

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

 

这样就安装好了

使用python3 --version


 

关于在centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法

3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可。

#yum install libffi-devel -y
#make install

Linux 使用退格键时出现^H解决方法

1、临时解决

按ctrl


2、永久解决

基本现象

进入 Python shell,按下 Delete/Backspace 键:

Python 3.5.2 (default, Mar 29 2017, 11:05:07) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>> import ^H^H^H^H^H^H

会出现 ^H 字符,无法正常删除,用起来很不方便。

解决方式

方式一:安装 readline 相关模块

查阅文档,发现是因为 readline 相关模块没有安装的原因。readline 是 bash shell 用的库,包含许多使用功能,例如:命令行自动补全。

# yum install readline readline-devel

 

centos 7安装ipython

ipython是一个非常好用的工具,下面说一下在centos7下安装它

1. pip3 install ipython

2.  这时候ipython已经安装好,我是安装在了 /usr/local/python3/bin/ipython

     不知道安装在哪里了的同学可以使用命令查看   find / -name 'ipython'

      找到ipython后就可以用  python3  /usr/local/python3/bin/ipython  命令启动了

3.不过每次这样启动很麻烦,我们把他封装成命令

   首先用vim打开bashrc       vim ~/.bashrc 

    添加一行       alias ipython3='python3 /usr/local/python3/bin/ipython'     

    保存退出   然后使其生效       source ~/.bashrc

   以后就可以直接输入ipythonl3来使用ipython了

 

设置pyspark 启动时所使用的python版本

以下操作均为使用非root用户进行。

vim ~/.bashrc

在文件中添加:

 

export PYSPARK_PYTHON=/usr/local/python3/bin/python3

指定pyspark启动时使用的python版本,


 


#export PYSPARK_DRIVER_PYTHON=ipython3

指定启动pyspark后的交互式界面,使用ipython3作为默认启动交互界面

 



export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS="notebook --no-browser --port 8889 --ip=172.16.80.142"

unset XDG_RUNTIME_DIR

指定启动pyspark后的交互式界面,使用jupyter作为默认启动的交互界面,指定ip 和port 可以让同网段的设备访问jupyter 进行pyspark 操作

 


 

source ~/.bashrc

加载配置生效

 

 注意:

在修改交互式界面的时候。如果以前有设置了PYSPARK_DRIVER_PYTHON_OPTS

新修改的PYSPARK_DRIVER_PYTHON 如果没有设置PYSPARK_DRIVER_PYTHON_OPTS  即使注释掉,可能还是会使用上一次的设置。最好覆盖一下。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值