Ubantu下pyspark运行py4j及python版本问题

先说问题:在虚拟机下通过vs core运行pyspark程序报错 先提示的是未找到pyj4

 ModuleNotFoundError: No module named 'py4j'

首先在百度找到的问题是:bashrc配置中的压缩包名字与实际不同,但是通过对比发现配置设置的

名称与实际名称相符,具体可看下边连接

(百度百科:

Py4J 是一个用 Python 和 Java 编写的库。

通过 Py4J,Python程序 能够动态访问 Java虚拟机 中的 Java对象,Java程序 也能够回调 Python对象。

VScode中pyspark调试配置以及无法启动调试问题

排除名称不一致问题,接着就通过pip进行安装 py4j 库,因为我用的版本并不是最新版,所以安装的时候选择了具体对应的版本

安装指定版本:

sudo pip install py4j==对应版本号

更新到最新版本:
sudo pip install py4j

卸载
sudo pip uninstall py4j

令人难以置信的是再次运行这时候报了另外一个错:

return types.CodeType(TypeError: an integer is required (got type bytes)

起初以为是代码的问题,通过spark-submit运行写好的程序,结果是成功执行,

再次访问百度得到的结果是说python版本的问题,再试一下用虚拟机下了python3.6运行是能够正

常运行。问题就来了:既然本机能运行,为啥vs core 运行就会报错呢?

观察vs core 运行终端输出的信息

发现问题:vs core 中指定的python路径并不是python3.6的,那么尝试改动python path

vscode 如何指定python路径到自己的venv环境

改为自己的python3.6版本地址

设置完毕,再次运行成功了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值