pydoopjavahome未设置安装问题

ki1q1bka  于 2021-06-04  发布在  Hadoop
关注(0)|答案(3)|浏览(437)

当我回音时 $JAVA_HOME 我正在走java的道路。hadoop也在运行,但是pydoop安装由于这个错误而失败。

  1. Traceback (most recent call last):
  2. File "setup.py", line 54, in <module>
  3. raise RuntimeError("java home not found, try setting JAVA_HOME")
  4. RuntimeError: java home not found, try setting JAVA_HOME

我运行安装命令 sudo python setup.py install --skip-build . 作为非root用户,在运行install\u lib creating/usr/local/lib/python2.7/dist-packages/pydoop时遇到此错误错误:无法创建“/usr/local/lib/python2.7/dist-packages/pydoop”:权限被拒绝

lawou6xi

lawou6xi1#

我在安装pydoop时也遇到了同样的问题,虽然我通过“export java\u home=myjavahomepath”正确地设置了java\u home,但仍然出现了相同的错误,即“runtimeerror:java home not found,try setting java\u home”。
最后,我通过修改jvm.py文件中的函数“def get\u java\u home()”解决了这个问题,该函数位于路径“/pydoop/pydoop/utils”中,如错误消息中所示。
我只是注解了return-os.environ[“java\u home”]行,并在try子句中添加了return“/usr/lib/jvm/java-7-openjdk-amd64”行,如下所示/usr/lib/jvm/java-7-openjdk-amd64是我电脑上的java\主页。

  1. def get_java_home():
  2. try:
  3. #return os.environ["JAVA_HOME"]
  4. return "/usr/lib/jvm/java-7-openjdk-amd64"
  5. except KeyError:
  6. raise RuntimeError("java home not found, try setting JAVA_HOME")
rseugnpd

rseugnpd2#

当您使用sudo运行安装程序时,它将在root帐户下运行,其中可能没有定义java\u home。
您可以选择:
为root导出正确的javau home;
或者使用virtualenv在当前用户的虚拟环境中安装pydoop,无需sudo;
或者使用安装选项指定不需要根权限的生成和安装目录。

xuo3flqw

xuo3flqw3#

@阿尔科是对的。如果您在帐户下设置hadoop path或javau home,则很难直接解决它。为根目录设置所有环境是复杂的和不必要的。
但你只能在你的帐户下安装pydoop。将它安装到~/.local/lib/pythonx.x/site packtes/pydoop-x.x.x/。。。路径。
如果您下载源tar文件,请使用此命令。

  1. python setup.py install --user

还是这个

  1. pip install pydoop --user

相关问题