如何在HDP 2.6上启用Python3支持

时间:2018-10-18 13:18:05

标签: python-3.x hadoop anaconda hortonworks-data-platform

HDP 2.6(HortonWorks数据平台)不支持Python3。 尽管Python3(或Anaconda3)受到许多数据科学家的高度赞赏。

如何在HDP 2.6上启用Python3支持?

1 个答案:

答案 0 :(得分:1)

限制在几个文件中

  • / usr / bin / hdp-select
  • /etc/hadoop/conf/topology_script.py

2to3应用程序可用于转换Python文件以支持Python3。

2to3 -w /usr/bin/hdp-select
2to3 -w /etc/hadoop/conf/topology_script.py

在/etc/hadoop/conf/topology_script.py上进行一些更改以支持Python2和Python3。

在进行了这些更改之后,knox无法重新启动。

进行调查后,尽管更改使python代码可在Python2和Python上运行。 行为略有不同。

以下命令将在Knox重新启动期间执行

ambari-python-wrapper /usr/bin/hdp-select packages

原始脚本输出将类似于

Packages:
  accumulo-client
  accumulo-gc

...

更改2to3之后,脚本输出将类似于

Packages:
(' ', 'accumulo-client')
(' ', 'accumulo-gc')      

两个输出有一定的不同。而HDP使用这些stdout作为接口。

效果可以归结为以下代码。这两个打印语句具有不同的输出。

pkg = "knox-server"
print " ", pkg

print(" ", pkg)

将打印语句更改为print(" ", pkg)可以解决此问题