CentOS 6 上的 Pydoop 安装

Posted

技术标签:

【中文标题】CentOS 6 上的 Pydoop 安装【英文标题】:Pydoop Installation on CentOS 6 【发布时间】:2017-05-07 01:10:16 【问题描述】:

我正在尝试在 CentOS 6(Hortonworks HDP 物理集群,4 个节点)上安装 Pydoop (https://crs4.github.io/pydoop/installation.html)。我的主服务器上安装了 Python 3.4 和 Python 2.6。当我使用 Python 3 安装它时,它显示如下语法错误:

[root@abc]# python3 setup.py build
  File "setup.py", line 45
print 'using setuptools version', setuptools.__version__
                               ^
SyntaxError: Missing parentheses in call to 'print'

当我使用 Python 2 安装它时,它显示以下错误

[root@abc]# python setup.py build
using setuptools version 35.0.2
Traceback (most recent call last):
  File "setup.py", line 65, in <module>
    import pydoop
  File "/root/pydoop/pydoop/__init__.py", line 42, in <module>
   _HADOOP_INFO = _PATH_FINDER.find()  # fill the cache ASAP
  File "/root/pydoop/pydoop/hadoop_utils.py", line 624, in find
  info[a] = getattr(self, a)()
  File "/root/pydoop/pydoop/hadoop_utils.py", line 433, in hadoop_home
_hadoop_home_from_version_cmd() or
  File "/root/pydoop/pydoop/hadoop_utils.py", line 394, in          
_hadoop_home_from_version_cmd
output = sp.check_output([hadoop_exec, 'version'])
AttributeError: 'module' object has no attribute 'check_output'

我不想将默认 python 从 2.6 升级到 2.7,因为它可能会破坏使用 python2.6 的 yum 并且升级它可能会导致问题。请问有什么建议吗?

【问题讨论】:

pydoop 需要 2.7 但如果不想弄乱您当前的安装,您可以使用 Pyenv 创建一个单独的隔离环境。 github.com/pyenv/pyenv 【参考方案1】:

您可以在 CentOS 6 上安装 Python 2.7 和 pip 而不会破坏 yum:

# yum update
# yum install centos-release-SCL epel-release
# yum install python27 python27-devel
# echo ". /opt/rh/python27/enable" >/etc/profile.d/python.sh
# source /etc/profile
# curl -o get-pip.py https://bootstrap.pypa.io/get-pip.py
# python get-pip.py
# python --version
Python 2.7.13
# pip --version
pip 9.0.1 from /opt/rh/python27/root/usr/lib/python2.7/site-packages (python 2.7)

【讨论】:

以上是关于CentOS 6 上的 Pydoop 安装的主要内容,如果未能解决你的问题,请参考以下文章

mysql安装MySQL5.6在centos6.4上的安装

python3.6.6在CentOS7上的安装

zabbix 2.2.2在centos 6.3 x86_64上的安装

centos 6.4 上的 Apache 全新安装说您没有权限访问此服务器上的 /

如何检查安装在 osx 和 centos 上的所有 python 版本

sh 安装Fail2ban以保护CentOS 6上的SSH