2015-04-15 2 views
2

Я столкнулся эту ошибку при установке pydoop пакет:Python 2.7.6 установка Pydoop неудачу на Ubuntu

[email protected]:~# 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 

TraceBack (самый последний вызов последнего):

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 с кодом ошибки 1 в/tmp/pip_build_root/pydoop Сохранение журнала отладки для отказа в /home/abhimanyu/.pip/pip.log

+0

У вас есть настройка HADOOP_HOME? Для меня она установлена, но по-прежнему та же ошибка. Любая удача с этим? –

ответ

0

Попробуйте это:

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

Это сделал трюк для меня

+0

Добро пожаловать в переполнение стека! Пожалуйста, рассмотрите возможность редактирования сообщения, чтобы добавить больше объяснений о том, что делает ваш код, и почему он решит проблему. Ответ, который в основном содержит только код (даже если он работает), обычно не помогает OP понять их проблему. Также рекомендуется, чтобы вы не отправляли ответ, если это всего лишь предположение. Хороший ответ будет иметь правдоподобную причину, почему он может решить проблему OP. – SuperBiasedMan

0

Update/и т.д./профиль и установить HADOOP_HOME и JAVA_HOME. После того, как/и т.д./профиль был обновлен, выйдите из системы и снова войти в систему.

Теперь запустите Sudo -E пип установить pydoop

-E, сохраняет окружающую среду

См https://github.com/crs4/pydoop/issues/170 для получения дополнительной информации

0

Так как я не могу прокомментировать ответ, отправленный saseaturtle. Я положил его сюда.

Сначала я встретил точно такую ​​же проблему, pydoop жалуется, что не может найти HADOOP_HOME и HADOOP_PREFIX, пока эти два поля находятся там, и следующая команда может правильно показать их значение.

echo $HADOOP_HOME; echpHADOOP_PREFIX 

Я попробовал решение, отправленное saseaturtle, но pydoop жалуется отсутствующим JAVAC на этот раз, хотя тип 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" 

Я думаю, что все выше проблема возникла из параметра среды, так как команда была запущена в Судо. Корневой пользователь может не иметь необходимых переменных окружения, установленных как текущий пользователь, и поэтому добавление некоторых команд экспорта решает проблему.

Смежные вопросы