Ошибка импорта: нет модуля с именем _jcc

Я пытаюсь установить Pylucene на Python 2.7 (Windows) с четырех дней. Требуется JCC для сборки и установки. После тысяч и тысяч различных ошибок я справился сам, наконец-то JCC был успешно собран и установлен. По крайней мере, так я и думал. После этого я попытался импортировать jcc, но я получаю эту ошибку:

Traceback (most recent call last):  
    File "<stdin>", line 1, in <module>  
    File "jcc\__init__.py", line 29, in <module>  
      from _jcc import initVM  
ImportError: No module named _jcc  

есть идеи? Он выглядит отлично установленным, но я не могу его импортировать.

4 ответа

Убедитесь, что ваш текущий каталог не является каталогом сборки jcc. Я получаю эту ошибку, если я пытаюсь импортировать jcc, когда в каталоге сборки Python тогда использует неправильный jcc.

Построение пилицена было для меня тоже большой болью. Возможно, вы захотите взглянуть на http://code.google.com/a/apache-extras.org/p/pylucene-extra/ - мы только начали его, и многие люди, похоже, имеют те же проблемы с безумно сложная сборка.

Цель состоит в том, чтобы предоставить несколько готовых яиц в нескольких операционных системах, версиях Python и комбинациях среды выполнения Java.

Больше яиц придет в ближайшее время, или, пожалуйста, не стесняйтесь, если вам удалось заставить его работать.

Я предлагаю использовать предварительно построенный: вот комбинация, которая работала для меня.

  1. Загрузить JDK 1.6.0_26

  2. Загрузить: lucene-3.1.0-py2.7-win32.egg

  3. Загрузить JCC JCC-2.8-py2.7-win32.egg

  4. Установите Java JRE или Java JDK, добавьте C:\Program Files\Java\jdk1.6.0_03\jre\bin\client\ на ваш путь;

  5. Установить JCC easy_install JCC-2.8-py2.7-win32.egg

  6. Установить PyLucene easy_install lucene-3.1.0-py2.7-win32.egg

  7. добавлять C:\Python27\Lib\site-packages\JCC-2.8-py2.7-win32.egg\jcc.dll на ваш путь

  8. Проверьте, что он работает в командной строке python 2.7: python -m jcc

  9. Сконфигурируйте Eclipse IDE, чтобы обеспечить сбор новых библиотек. • После перезапуска Eclipse: • Выберите Windows -> Preferences вызвать диалог настроек. • Изменить на PyDev -> Interpreter - Python раздел для настройки Python. • Нажмите на New folder выберите 2 новых яйца. Пилюцен и JCC в c:\Pyton27\Lib\Site-packages\Lucene Etc и JCC- Etc.

Кстати, когда я перенес вышеописанное, работавшее с использованием сервера Django Dev, на Apache и Mod_WSGI, оно больше не работало, и я получаю ту же ошибку, что и вы. В итоге я успешно использовал Solr с Sunburnt, который, я думаю, является более масштабируемым решением, которое работает.

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

Итак, некоторые вопросы для вас; на которые лучше всего ответить, отредактировав свой оригинальный вопрос

  1. Это только про ошибки JCC? И цель, а не часть проблемы?
  2. С какими тысячами ошибок вы справились сами? Нет, я не хочу 1000 ответов, мне интересно, почему это было так сложно для поддерживаемой платформы.
  3. Какую версию JCC вы пытаетесь построить?

Как можно догадаться, эта строка из инструкции по установке JCC выглядит весьма уместно:

Добавление каталогов Java, содержащих необходимые библиотеки DLL, и к PATH является обязательным.

Добавлено в ответ на комментарии:

Вы попали в ад зависимости, для которого удаленные ответы почти невозможны. Просто взглянув на огромное количество ревизий, которые вы должны перечислить, чтобы описать работу, вы получите представление о том, сколько вещей вы должны координировать.

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

На Ubuntu Lucid я смог

$ sudo apt-get install pylucene
$ python 
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56) 
>>> import lucene
>>> dir(lucene)
['AbstractCollection', 'AbstractField', 'AbstractList', ...

Но это прошлогодний PyLucene, работающий на прошлогоднем Python. И я не знаю lucene, поэтому я не могу даже подтвердить минимальную операцию, но предполагаю, что это рабочий PyLucene 2.3.1.

Удачи; Вы можете обнаружить, что вам нужно ослабить свои требования, если вы хотите, чтобы это работало и оставалось в здравом уме.

Другие вопросы по тегам