Найти - Пользователи
Полная версия: Не находит либу при попытке запуска
Начало » Python для Java » Не находит либу при попытке запуска
1
dyno
Решил попробовать скомпилить для Hadoop пример на python. (примеры на Java замечательно работают)

Исходник на python компилиться(из cygwin) таким командным файлом:

export HADOOP_HOME=/path2hadoop
export CLASSPATH="$HADOOP_HOME/build/classes"
for f in $HADOOP_HOME/lib/*.jar; do
CLASSPATH=${CLASSPATH}:$f;
done

for f in $HADOOP_HOME/lib/jetty-ext/*.jar; do
CLASSPATH=${CLASSPATH}:$f;
done

for f in $HADOOP_HOME/*.jar; do
CLASSPATH=${CLASSPATH}:$f;
done

unset IFS
jythonc.bat -A hadoop-0.12.3-core.jar -p org.apache.hadoop -d -j wc.jar -c WordCount.py
Это собирает jar-файл. (Правда ругается, что jythonc в следующей версии не будет и мол ищите альтернативы :( а какие могут быть альтернативы?)

Пытаюсь запустить с помощью Hadoop этот jar-ник.
(Hadoop выступает как обертка при запуске).

Код запуска по сути такой (разбил на строки для читабельности и “затер” частично пути)

exec Path2jdk\bin\java -Xmx1000m  
-Dhadoop.log.dir=path2HADOOPlogs
-Dhadoop.log.file=hadoop.log
-Dhadoop.home.dir=path2HadoopHome
-Dhadoop.id.str=
-Dhadoop.root.logger=INFO,console
-Djava.library.path=
path2jython/jython.jar:
/path2hadoop/hadoop-0.12.3-core.jar
-classpath
hadoop-site.xml;
C;
path2jdk\lib\tools.jar;
path2HADOOPhome\build\classes;
path2HADOOPhome\build;
path2HADOOPhome\build\test\classes;
path2HADOOPhome\;
path2HADOOPhome\hadoop-0.12.3-core.jar;
path2HADOOPhome\lib\commons-cli-2.0-SNAPSHOT.jar;
path2HADOOPhome\lib\commons-codec-1.3.jar;
path2HADOOPhome\lib\commons-httpclient-3.0.1.jar;
path2HADOOPhome\lib\commons-logging-1.0.4.jar;
path2HADOOPhome\lib\commons-logging-api-1.0.4.jar;
path2HADOOPhome\lib\jets3t-0.5.0.jar;
path2HADOOPhome\lib\jetty-5.1.4.jar;
path2HADOOPhome\lib\junit-3.8.1.jar;
path2HADOOPhome\lib\log4j-1.2.13.jar;
path2HADOOPhome\lib\servlet-api.jar;
path2HADOOPhome\lib\jetty-ext\ant.jar;
path2HADOOPhome\lib\jetty-ext\commons-el.jar;
path2HADOOPhome\lib\jetty-ext\jasper-compiler.jar;
path2HADOOPhome\lib\jetty-ext\jasper-runtime.jar;
path2HADOOPhome\lib\jetty-ext\jsp-api.jar;
path2HADOOPhome\hadoop-0.12.3-core.jar;
path2jython\jython.jar
org.apache.hadoop.util.RunJar wc.jar -m3 -r 1 vm_utf8.txt
пишет:

Exception in thread “main” Traceback (innermost last):
File “path2hadoopExamples\python\WordCount.py”, line 0, in main
ImportError: no module named io

что для меня странно, т.к. hadoop-0.12.3-core.jar указан в путях и org.apache.hadoop.io там есть
И почему он пишет путь к исходнику питоновскому, хотя я запукаю jar и совсем из другой директории? oO7

код в исходнике такой (приведу только начало, т.к. io встречается только в заголовке):
from org.apache.hadoop.fs import Path
from org.apache.hadoop.io import *
from org.apache.hadoop.mapred import *

import sys
import getopt

Все осложняется тем, что я не знаю хорошо Java и Python, т.ч. подскажите мне, пожалуйста, что я мог возможно забыть?
dyno
Еще интересно… Может кто чего сказать?
alafin
dyno
Правда ругается, что jythonc в следующей версии не будет и мол ищите альтернативы sad а какие могут быть альтернативы?
Может имеется в виду проект JPype
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB