簡體   English   中英

在Ubuntu上安裝Python 2.7.6 Pydoop失敗

[英]Python 2.7.6 Pydoop installation fail on Ubuntu

安裝pydoop軟件包時遇到此錯誤:

root@ubuntu:~# pip install pydoop
Downloading/unpacking pydoop
  Downloading pydoop-1.0.0.tar.gz (931kB): 931kB downloaded
  Running setup.py (path:/tmp/pip_build_root/pydoop/setup.py) egg_info for package pydoop
    using setuptools version 15.0
    Traceback (most recent call last):
      File "<string>", line 17, in <module>
      File "/tmp/pip_build_root/pydoop/setup.py", line 59, in <module>
        import pydoop.hdfs.core.impl as hdfsimpl
      File "pydoop/hdfs/__init__.py", line 99, in <module>
        init()
      File "pydoop/hdfs/__init__.py", line 93, in init
        pydoop.hadoop_classpath(), _ORIG_CLASSPATH, pydoop.hadoop_conf()
      File "pydoop/__init__.py", line 106, in hadoop_classpath
        return _PATH_FINDER.hadoop_classpath(hadoop_home)
      File "pydoop/hadoop_utils.py", line 540, in hadoop_classpath
        hadoop_home = self.hadoop_home()
      File "pydoop/hadoop_utils.py", line 399, in hadoop_home
        PathFinder.__error("hadoop home", "HADOOP_HOME")
      File "pydoop/hadoop_utils.py", line 385, in __error
        raise ValueError("%s not found, try setting %s" % (what, env_var))
    ValueError: hadoop home not found, try setting HADOOP_HOME
    Complete output from command python setup.py egg_info:
    using setuptools version 15.0

追溯(最近一次通話):

  File "<string>", line 17, in <module>

  File "/tmp/pip_build_root/pydoop/setup.py", line 59, in <module>

    import pydoop.hdfs.core.impl as hdfsimpl

  File "pydoop/hdfs/__init__.py", line 99, in <module>

    init()

  File "pydoop/hdfs/__init__.py", line 93, in init

    pydoop.hadoop_classpath(), _ORIG_CLASSPATH, pydoop.hadoop_conf()

  File "pydoop/__init__.py", line 106, in hadoop_classpath

    return _PATH_FINDER.hadoop_classpath(hadoop_home)

  File "pydoop/hadoop_utils.py", line 540, in hadoop_classpath

    hadoop_home = self.hadoop_home()

  File "pydoop/hadoop_utils.py", line 399, in hadoop_home

    PathFinder.__error("hadoop home", "HADOOP_HOME")

  File "pydoop/hadoop_utils.py", line 385, in __error

    raise ValueError("%s not found, try setting %s" % (what, env_var))

ValueError: hadoop home not found, try setting HADOOP_HOME

清理...命令python setup.py egg_info在/ tmp / pip_build_root / pydoop中失敗,錯誤代碼為1在/home/abhimanyu/.pip/pip.log中存儲調試日志失敗

嘗試這個:

sudo sh -c "ls ; export HADOOP_HOME=/yourpathtohadoopinstallation/; export JAVA_HOME=/yourpathtojavainstallation/; pip install pydoop"

那對我有用

更新/ etc / profile並設置HADOOP_HOME和JAVA_HOME。 更新/ etc / profile后,注銷並重新登錄。

現在運行sudo -E pip install pydoop

-E保護環境

參見https://github.com/crs4/pydoop/issues/170了解更多信息

由於我無法評論saseaturtle發布的答案。 我把它放在這里。

起初我遇到了完全相同的問題,pydoop抱怨這兩個字段都在那兒而找不到HADOOP_HOME和HADOOP_PREFIX,並且以下命令可以正確顯示它們的值。

echo $HADOOP_HOME; echpHADOOP_PREFIX

我嘗試了saseaturtle發布的解決方案,但是pydoop這次抱怨缺少javac,盡管shell中的javac類型可以顯示正確的反饋,並且所有那些$ JAVA_HOME或$ JAVA_LIB環境都已正確設置。

最后,我使用以下命令成功安裝了pydoop:

sudo sh -c "export PATH=/usr/java/jdk1.8.0_92/bin:$PATH; export HADOOP_HOME=/usr/local/hadoop-2.6.3; export JAVA_HOME=/home/why/download/jdk1.8.0_92; pip install pydoop"

我的猜測是上述所有問題均來自環境設置,因為該命令以sudo運行。 超級用戶可能沒有將所需的環境變量設置為當前用戶,這就是為什么添加一些導出命令可以解決該問題的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM