HDP 2.6(HortonWorks数据平台)不支持Python3。 尽管Python3(或Anaconda3)受到许多数据科学家的高度赞赏。
如何在HDP 2.6上启用Python3支持?
答案 0 :(得分:1)
限制在几个文件中
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)
可以解决此问题