ImportError: no module named _jcc
I'm trying to install pylucene on python 2.7 (windows) since four days. It requires JCC to build and install. After thousands and thousands different errors I handled myself, at last JCC sucessfully builded and installed. At least, that was what I thought. After that, I tried to import jcc but I get this error:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "jcc\__init__.py", line 29, in <module>
from _jcc impor开发者_开发问答t initVM
ImportError: No module named _jcc
any ideas? It looks installed perfectly but I can't import it.
Make sure your current dir is not jcc build directory. I get this error if I try to import jcc when in build directory, python uses the wrong jcc then.
This is going to be tough to answer because there are so many dependencies that to give the question enough context you'd almost have to ship us your machine.
So some questions for you; which are answered best by editing your original question:
- This is only about JCC errors? And pylucene is the goal but not part of the problem?
- What sort of thousands of errors did you handle yourself? No, I don't want 1000 answers, I'm wondering why it was so difficult for a supported platform.
- What version of JCC are you trying to build?
As a wild guess, this line from the JCC installation instructions seems like it could be quite relevant:
Adding the Java directories containing the necessary DLLs and to PATH is a must.
Added in response to comments:
You've gotten yourself into dependency hell for which remote answers are nearly impossible. Just looking at the sheer number of revisions you have to list to describe the work should give you an idea of how many things you have to coordinate.
It's unfortunate, and I've certainly been there myself a couple of times which is why I now do whatever I can to minimize the number of "just outa beta" versions software stacks.
On Ubuntu Lucid, I was able to
$ 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', ...
But that's last year's PyLucene running on last year's Python. And I don't know lucene so I can't even confirm minimal operation, but presume it is a working PyLucene 2.3.1.
Good luck; you may find that you need to relax your requirements if you want to get it working and remain sane.
Building pylucene has been a major pain for me too. You may want to have a look at http://code.google.com/a/apache-extras.org/p/pylucene-extra/ - we just started it, and many people seem to have the same issues with the insanely complex build.
The goal is to provide pylucene as pre-built eggs on several operating systems, Python versions and Java runtimes combos.
More eggs will come soon, or please feel free to contribute if you managed to get it working.
I suggest using a pre-built one: Here is the combination that worked for me.
Download JDK 1.6.0_26
Download: lucene-3.1.0-py2.7-win32.egg
Download JCC JCC-2.8-py2.7-win32.egg
Install Java JRE or Java JDK, add
C:\Program Files\Java\jdk1.6.0_03\jre\bin\client\
to your path;Install JCC
easy_install JCC-2.8-py2.7-win32.egg
Install PyLucene
easy_install lucene-3.1.0-py2.7-win32.egg
Add
C:\Python27\Lib\site-packages\JCC-2.8-py2.7-win32.egg\jcc.dll
to your pathTest that it is working in the command line
python 2.7: python -m jcc
Configure Eclipse IDE to ensure it picks up new libraries. • After Eclipse restarts: • Choose
Windows -> Preferences
to bring up the preferences dialog. • Change to thePyDev -> Interpreter - Python
section to configure Python. • Click onNew folder
select the 2 new eggs. Pylucene and JCC in c:\Pyton27\Lib\Site-packages\Lucene Etc and JCC- Etc.
By the way when I ported the above which was working using Django Dev server to Apache and Mod_WSGI it no longer worked and I get the same error you got. I ended up successfully using Solr with Sunburnt, which I think is a more scalable solution that works.
精彩评论