2011-02-17 6 views
-2

Possible Duplicate:
How to run a python script from java?Почему Jython не находит этот модуль?

Я бегу сценарий Python с использованием Jython и получил эту ошибку:

Исключение в потоке "основного" Traceback (сокровенная последнего): Файл "C: \ Facebook \ LoginPython \ Facebook.py", строка 5, в? ImportError: нет модуля с именем cookielib

Почему это не работает?

+0

Считая комментарии ниже, ОП, похоже, ищет ответ на совершенно другой вопрос. Я отмечу, что это закрыто ... на самом деле я не переписал вопрос. –

ответ

1

Используйте Jython для запуска Python на JVM. Используйте PyDev для разработки с помощью Python (или Jython) на Eclipse.

+0

Я пробую это и получил эту ошибку: Исключение в потоке «main» Traceback (самый внутренний): Файл «C: \ Facebook \ LoginPython \ Facebook.py», строка 5, в? ImportError: нет модуля с именем cookielib – user621459

2

Немного больше об использовании Jython - была и моя доля проблем с этим. Обратите внимание, что это не лучший способ сделать это, но он отлично подходит для меня.

Я предполагаю, что вы хотите вызвать функцию Foo в модуле панели из кода Java, который принимает строку в качестве аргумента и возвращает строку:

PythonInterpreter interpreter = new PythonInterpreter(); 
    // Append directory containing module to python search path and import it 
    interpreter.exec("import sys\n" + "sys.path.append(pathToModule)\n" + 
    "from bar import foo"); 
    PyObject meth = interpreter.get("foo"); 
    PyObject result = meth.__call__(new PyString("Test!")); 
    String real_result = (String) result.__tojava__(String.class); 

The sys.path.append() часть необходимо только если ваш модуль не является частью пути поиска Python по умолчанию, что вполне может быть проблемой, если вы получите Import или Module, чтобы не находить ошибки. Также вам нужно отбросить объекты между версиями java и python, вам нужно будет посмотреть, что при необходимости, до сих пор мне нужны только примитивные типы, которые легко отличить, не уверен, что это легко для любых java-объектов.

+0

actualy Я пытаюсь запустить сценарий pyton, который работает как логин для facebook. и мой lib - cookielib. это мой код: import java.io. *; import org.python.core. *; импорт org.python.util. *; // import org.python.util.jython; общественного класса JavaPython { \t государственной статической силы основных (String [] арг) бросает IOException { \t \t PySystemState.initialize(); \t \t PythonInterpreter interp = new PythonInterpreter(); \t \t interp.execfile ("C: \\ Facebook \\ LoginPython \\ Facebook.py"); // \t \t interp.eval (s); \t \t System.out.println («тестирование»); \t \t} \t \t \t} – user621459

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