Не удалось получить среду, + java.lang.ExceptionInInitializerError, Ошибка трассировки IOError: Файл не найден - - PullRequest
0 голосов
/ 10 мая 2011

Я запускаю Windows 7 в 64-битной системе.Я использую NetBeans 6.9.1 (плагины Python установлены) Установлено также: Python 2.7.1 (64), JDK 6 обновление 24 (64),

Я заинтересован в извлечении термина, поэтому я скачал montylinguaкоторый должен работать на Java или / и Python.это ссылка: http://web.media.mit.edu/~hugo/montylingua/

Когда я пытаюсь запустить код Sample.java, включенный в доступный zip-файл, я сталкиваюсь с этими проблемами:

****** MontyLingua v.2.1 ******
***** by hugo@media.mit.edu *****
Failed to get environment, environ will be empty: (0, 'Failed to execute command ([\'sh\', \'-c\', \'env\']):
java.io.IOException: Cannot run program "sh": CreateProcess error=2, The system cannot find the file specified')

java.lang.ExceptionInInitializerError
Caused by: Traceback (innermost last):
  File "C:\work\montylingua-2.0\copy\JMontyLingua.py", line 0, in __init__ 
  File "C:\work\montylingua-2.0\copy\MontyLingua.py", line 0, in __init__ 
  File "C:\work\montylingua-2.0\copy\MontyLemmatiser.py", line 0, in __init__ 

IOError: File not found - 
    at org.python.core.Py.IOError(Py.java)
    at org.python.core.PyFile._setup(PyFile.java)
    at org.python.core.PyFile.<init>(PyFile.java)
    at org.python.core.__builtin__.open(__builtin__.java)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java)
    at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java)
    at org.python.core.PyObject.__call__(PyObject.java)
    at montylingua.MontyLemmatiser$_PyInner.__init__$5(MontyLemmatiser.java:5312)
    at montylingua.MontyLemmatiser$_PyInner.call_function(MontyLemmatiser.java:5219)
    at org.python.core.PyTableCode.call(PyTableCode.java)
    at org.python.core.PyTableCode.call(PyTableCode.java)
    at org.python.core.PyTableCode.call(PyTableCode.java)
    at org.python.core.PyFunction.__call__(PyFunction.java)
    at org.python.core.PyInstance.__init__(PyInstance.java)
    at org.python.core.PyClass.__call__(PyClass.java)
    at org.python.core.PyObject.__call__(PyObject.java)
    at montylingua.MontyLingua$_PyInner.__init__$1(MontyLingua.java:218)
    at montylingua.MontyLingua$_PyInner.call_function(MontyLingua.java:163)
    at org.python.core.PyTableCode.call(PyTableCode.java)
    at org.python.core.PyTableCode.call(PyTableCode.java)
    at org.python.core.PyTableCode.call(PyTableCode.java)
    at org.python.core.PyFunction.__call__(PyFunction.java)
    at org.python.core.PyInstance.__init__(PyInstance.java)
    at org.python.core.PyClass.__call__(PyClass.java)
    at org.python.core.PyObject.__call__(PyObject.java)
    at montylingua.JMontyLingua$_PyInner.__init__$1(JMontyLingua.java:85)
    at montylingua.JMontyLingua$_PyInner.call_function(JMontyLingua.java:63)
    at org.python.core.PyTableCode.call(PyTableCode.java)
    at org.python.core.PyTableCode.call(PyTableCode.java)
    at org.python.core.PyTableCode.call(PyTableCode.java)
    at org.python.core.PyFunction.__call__(PyFunction.java)
    at org.python.core.PyInstance.__init__(PyInstance.java)
    at org.python.core.Py.initProxy(Py.java)
    at montylingua.JMontyLingua.__initProxy__(JMontyLingua.java:256)
    at montylingua.JMontyLingua.<init>(JMontyLingua.java:234)
    at montylinguaapplication.MontySample.<clinit>(MontySample.java:8)
Could not find the main class: montylinguaapplication.MontySample.  Program will exit.
Exception in thread "main" Java Result: 1
BUILD SUCCESSFUL (total time: 3 seconds)

Я знаком с Javaтак как у меня есть небольшой опыт программирования с ним.Я ничего не знаю о Python.Я установил переменную окружения "MONTYLINGUA", которая необходима для запуска программы.

Я видел сообщение о Jython от кого-то, кто получил ту же первую ошибку, что и я, но я не смог ничего сделать из предложенных вещей.(ссылка на другой пост: Jython - javaos.getenv () выдает «Не удалось получить среду, среда будет пуста» )

Любой, кто сможет правильно запустить этот файл .java, можетпорекомендуйте что-нибудь.

Я также могу загрузить java-код, но я думаю, что он устарел, поскольку он доступен и его легко найти на упомянутом сайте ...

В проекте, который я также включилJyDT_Update_Site_1.4.15 zip, на всякий случай, если это поможет, но, к сожалению, ничего не произошло.

Может быть, мне нужно добавить какой-то код в конкретный файл, как в случае с другим постом, но я неНе знаю, что добавить, что в моей системе.

спасибо за ваше время.

Ответы [ 4 ]

1 голос
/ 12 февраля 2012

Решение состоит в том, чтобы установить в файле реестра Jython свойство python.os.

. Файл реестра можно найти, выполнив следующие инструкции: http://www.jython.org/archive/21/docs/registry.html#finding.

1 голос
/ 10 мая 2011

Похоже, проблема та же, что и в сообщении, на которое вы ссылались.

'Не удалось выполнить команду ([\' sh \ ', \ '- c \', \ 'env \']): java.io.IOException: не удается запустить программа "ш":

Подразумевается, что jython настроен так, что он работает в какой-либо системе UNIX.

0 голосов
/ 06 июля 2013

Вам понадобится компилятор Sun Java версии 1.4.2, установленный в вашей системе. Без этого у вас будут проблемы с запуском примеров Java на MontyLingua и мы не уверены, сможете ли вы скомпилировать MontyLingua в .NET DLL. Найдите www.sun.com для версии 1.4.2 комплекта разработчика Java SE и установите Это.

0 голосов
/ 10 мая 2011

Похоже, что код python пытается запустить команду оболочки. Но поскольку вы работаете в Windows, это не работает.

Это заставляет меня задуматься, действительно ли это канонический способ добраться до окружения в python?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...