Hi Carlos,
thanks for your feedback - though I'd call it rather a workaround than a
solution of the original problem ,-)

Anyway, SOLR is based on Lucene and you can access it from Python as well ,
so this should be fine if it solves your initial problem.

There's also an approach to wrap SOLR in Python, but I currently can't
remember the project name nor find it...

regards
Thomas 

> -----Ursprüngliche Nachricht-----
> Von: Carlos Ferreira [mailto:[email protected]]
> Gesendet: Freitag, 21. September 2012 00:45
> An: [email protected]
> Betreff: Re: DLL load failed: The specified module could not be found.
from
> jcc import _jcc
> 
> Hi Thomas, Thanks for the follow up.  I have resolved this by instead
using
> SOLR, which provides a REST interface and scalability for my web
application.
> There also are hosted solutions which offer SOLR which make deploying the
> solution easier.  It did require me to go back and refactor my code :-(
but at
> least is working well.
> 
> Thanks.
> 
> 
> On Fri, Aug 24, 2012 at 12:29 AM, Thomas Koch <[email protected]> wrote:
> 
> > Hi Carlos,
> > Just another hint: did you try do load jcc.dll within the MOD_WSGI
script?
> > I
> > recently wrote down some hints on typical pitfalls in the apache-extra
> > pylucene wiki at
> > http://code.google.com/a/apache-extras.org/p/pylucene-
> extra/wiki/PyLuc
> > ene
> >
> > try to call
> > >> import ctypes
> >  >> ctypes.windll.LoadLibrary("jcc.dll")
> >
> > in your script. If that doesn't help to find the origin of your
> > problem  I'd start to look at mod_wsgi debugging opportunities to see
> > where/why it fails.
> >
> >
> >
> > Regards,
> > Thomas
> >
> > > -----Ursprüngliche Nachricht-----
> > > Von: Carlos Ferreira [mailto:[email protected]]
> > > Gesendet: Samstag, 18. August 2012 02:09
> > > An: [email protected]
> > > Betreff: Re: DLL load failed: The specified module could not be found.
> > from
> > > jcc import _jcc
> > >
> > > Hi Thomas,
> > > Thank you for your response.  I don't believe it is a system path or
> > missing dll
> > > problem.  As the example I provided shows it works when I invoke it
> > > from the Python Shell within the command line that includes the
> > > statement "import jcc".  MOD_WSGI also works and shows my current
> > > path when I invoke a test WSGI script.  The test MOD_WSGI script
> > > fails however when I include the "import jcc" statement.  This seems
> > > like it is a easy to
> > reproduce
> > > problem.
> > >
> > > Your thought about not allowing it to be called within another
> > > process
> > might
> > > be right but need more info and it may not help since I am on
> > > Windows XP which I understand doesn't support WSGIDaemonProcess
> > > would allow a separate process to run.
> > >
> > > Is there anyone else at pylucene that might be able to help?   Or
maybe
> > > point me to the patch that was proposed to see if that fixes the
problem?
> > >
> > > Thanks for your help.
> > > Carlos
> > >
> > > On Thu, Aug 16, 2012 at 12:05 AM, Thomas Koch <[email protected]>
> > > wrote:
> > >
> > > > Dear Carlos,
> > > > haven't used mod_wsgi so far, but remember there was a patch
> > > > submitted to the list related to mod_wsgi :
> > > >
> > > > > Von: Patrick J. McNerthney [mailto:[email protected]]
> > > > > Gesendet: Freitag, 6. Juli 2012 05:40
> > > > > An: [email protected]
> > > > > Betreff: Supporting mod_wsgi python sub-interpreters
> > > > >
> > > > > I would like to propose the attached patch to support the use of
> > > > > python
> > > > sub-
> > > > > interpreters, which are used by mod_wsgi.  If there is interest,
> > > > > I can
> > > > further
> > > > > clarify.
> > > > >
> > > > > Pat
> > > >
> > > > That hasn't been discussed further, but maybe Pat can comment on
> > > > what the patch was good for or what problem it solves?
> > > >
> > > > BTW, the error you encounter may not be related to the python
> > > > interpreter not finding jcc.dll but rather that jcc.dll cannot be
> > > > loaded in the current process - e.g. because of wrong path in
> > > > environment. I can for example reproduce this by setting PATH=C:\
> > > > and
> > > invoke python:
> > > >
> > > > Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit
> > > > (Intel)] on
> > > > win32
> > > > Type "help", "copyright", "credits" or "license" for more
information.
> > > > >>> import jcc
> > > > Traceback (most recent call last):
> > > >   File "<stdin>", line 1, in <module>
> > > >   File
> > > >
> > > > "c:\Devel\Python27\lib\site-packages\jcc-2.13-py2.7-win32.egg\jcc\
> > > > __in
> > > > it__.p
> > > > y", line 31, in <module>
> > > >     from jcc import _jcc
> > > > ImportError: DLL load failed: Das angegebene Modul wurde nicht
> > > gefunden.
> > > > >>>
> > > >
> > > > A typical problem in not being able to import lucene/jcc is a
> > > > missing DLL
> > > > (msvcr71.DLL) which is required by the loaded DLL. Sometimes it
> > > > helps to load the DLL directly - in a command shell (interpreter)
> > > > environment for example a windows dialogue may popup and tell you
> > > about the missing DLL.
> > > > That may not work in a server process... Hope that helps.
> > > >
> > > >
> > > > Regards,
> > > > Thomas
> > > >
> > > > > -----Ursprüngliche Nachricht-----
> > > > > Von: Carlos Ferreira [mailto:[email protected]]
> > > > > Gesendet: Donnerstag, 16. August 2012 04:17
> > > > > An: [email protected]
> > > > > Betreff: DLL load failed: The specified module could not be found.
> > > > > from
> > > > jcc
> > > > > import _jcc
> > > > >
> > > > > Hi, Please help I am unable to get Pylucene working with JCC  on
> > > > > Apache
> > > > > 2.22 using Mod_WSGI on Windows XP.
> > > > >
> > > > >
> > > > >
> > > > > *Works from Command Line*
> > > > >
> > > > > C:\python
> > > > >
> > > > > Python 2.7.1 (r271:86832, Nov  27 2010 18:30:46) [MSC v.1500 32
> > > > > bit
> > > > (Intel)] on
> > > > > win32
> > > > >
> > > > > >>> import jcc
> > > > >
> > > > > >>>from jcc import _jcc
> > > > >
> > > > > >>>dir (_jcc)
> > > > >
> > > > > [‘Boolean’, ‘Bye’, ‘CLASSPATH’, …..
> > > > >
> > > > >
> > > > >
> > > > > Works from Command Line
> > > > >
> > > > > C:\python
> > > > > c:\Python27\Lib\site-packages\JCC-2.13-py2.7-
> win32.egg\jcc\__init__.
> > > > > py
> > > > >
> > > > >      JCC – C++/Python Java Native Interface Code Generator
> > > > >
> > > > >      Usage: python –m jcc.__main__ [options] [actions]
> > > > >
> > > > >
> > > > >
> > > > > *Fails with MOD_WSGI using a simple test script:*
> > > > >
> > > > > import os, sys
> > > > >
> > > > > sys.path.append('C:\Python27\Lib\site-packages\JCC-2.13-py2.7-
> > > > > win32.egg\jcc.dll')
> > > > >
> > > > > sys.path.append('C:\Program Files\Java\jre6\bin\client\jvm.dll')
> > > > >
> > > > >
> > > > >
> > > > > def application(environ, start_response):
> > > > >
> > > > >     import jcc
> > > > >
> > > > >     from jcc import _jcc
> > > > >
> > > > >
> > > > >
> > > > >     status = '200 OK'
> > > > >
> > > > >     output = ''
> > > > >
> > > > >     output += 'sys.version = %s\n' % repr(sys.version)
> > > > >
> > > > >     output += 'sys.prefix = %s\n' % repr(sys.prefix)
> > > > >
> > > > >     output += 'sys.path = %s\n' % repr(sys.path)
> > > > >
> > > > >     output += 'wsgi.multithread = %s\n' %
> > > > repr(environ['wsgi.multithread'])
> > > > >
> > > > >     output += 'mod_wsgi.process_group = %s\n' %
> > > > > repr(environ['mod_wsgi.process_group'])
> > > > >
> > > > >     output += 'os.environ = %s \n'    % repr(os.environ['Path'])
> > > > >
> > > > >
> > > > >
> > > > >     response_headers = [('Content-type', 'text/plain'),
> > > > >
> > > > >                         ('Content-Length', str(len(output)))]
> > > > >
> > > > >     start_response(status, response_headers)
> > > > >
> > > > >
> > > > >
> > > > >     return [output]
> > > > >
> > > > >
> > > > >
> > > > > *Fails with error:*
> > > > >
> > > > > [Wed Aug 15 18:44:19 2012] [warn] mod_wsgi: Compiled for
> Python/2.7.
> > > > >
> > > > > [Wed Aug 15 18:44:19 2012] [warn] mod_wsgi: Runtime using
> > > Python/2.7.1.
> > > > >
> > > > > [Wed Aug 15 18:44:19 2012] [notice] Apache/2.2.22 (Win32)
> > > > > mod_wsgi/3.3
> > > > > Python/2.7.1 configured -- resuming normal operations
> > > > >
> > > > > [Wed Aug 15 18:44:19 2012] [notice] Server built: Jan 28 2012
> > > > > 11:16:39
> > > > >
> > > > > [Wed Aug 15 18:44:19 2012] [notice] Parent: Created child
> > > > > process
> > > > > 4596
> > > > >
> > > > > [Wed Aug 15 18:44:19 2012] [warn] mod_wsgi: Compiled for
> Python/2.7.
> > > > >
> > > > > [Wed Aug 15 18:44:19 2012] [warn] mod_wsgi: Runtime using
> > > Python/2.7.1.
> > > > >
> > > > > [Wed Aug 15 18:44:19 2012] [notice] Child 4596: Child process is
> > > > > running
> > > > >
> > > > > [Wed Aug 15 18:44:19 2012] [notice] Child 4596: Acquired the
> > > > > start
> > mutex.
> > > > >
> > > > > [Wed Aug 15 18:44:19 2012] [notice] Child 4596: Starting 64
> > > > > worker
> > > > threads.
> > > > >
> > > > > [Wed Aug 15 18:44:19 2012] [notice] Child 4596: Starting thread
> > > > > to listen
> > > > on
> > > > > port 80.
> > > > >
> > > > > [Wed Aug 15 18:44:30 2012] [error] [client 127.0.0.1] mod_wsgi
> > > > (pid=4596):
> > > > > Exception occurred processing WSGI script 'C:/temp/wsgi_test.py'.
> > > > >
> > > > > [Wed Aug 15 18:44:30 2012] [error] [client 127.0.0.1] Traceback
> > > > > (most
> > > > recent
> > > > > call last):
> > > > >
> > > > > [Wed Aug 15 18:44:30 2012] [error] [client 127.0.0.1]   File
> > > > > "C:/temp/wsgi_test.py", line 6, in application
> > > > >
> > > > > [Wed Aug 15 18:44:30 2012] [error] [client 127.0.0.1]     import
jcc
> > > > >
> > > > > [Wed Aug 15 18:44:30 2012] [error] [client 127.0.0.1]   File
> > > > > "c:\\Python27\\lib\\site-packages\\jcc-2.13-py2.7-
> > > > > win32.egg\\jcc\\__init__.py",
> > > > > line 31, in <module>
> > > > >
> > > > > [Wed Aug 15 18:44:30 2012] [error] [client 127.0.0.1]     from jcc
> > import
> > > > > _jcc
> > > > >
> > > > > [Wed Aug 15 18:44:30 2012] [error] [client 127.0.0.1] ImportError:
> > > > > DLL
> > > > load
> > > > > failed: The specified module could not be found.
> > > > >
> > > > >
> > > > >
> > > > > *I think Mod_WSGI is installed correctly because removing this
> > > > > from the above test script:*
> > > > >
> > > > >     import jcc
> > > > >
> > > > >     from jcc import _jcc
> > > > >
> > > > >
> > > > >
> > > > > *Results correct output in the browser window:*
> > > > >
> > > > > sys.version = '2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC
> > > > > v.1500
> > > > > 32 bit (Intel)]'
> > > > >
> > > > > sys.prefix = 'c:\\Python27'
> > > > >
> > > > > sys.path =
> > > > > ['c:\\Python27\\lib\\site-packages\\south-0.7.3-py2.7.egg',
> > > > > 'c:\\Python27\\lib\\site-packages\\django_admin_tools-0.4.0-py2.
> > > > > 7.eg g',
> > > > > 'c:\\Python27\\lib\\site-packages\\oauth2-1.5.170-py2.7.egg',
> > > > > 'c:\\Python27\\lib\\site-packages\\httplib2-0.7.2-py2.7.egg',
> > > > > 'c:\\Python27\\lib\\site-packages\\django_social_auth-0.6.0-py2.
> > > > > 7.eg
> > > > > g',
> > > > > 'c:\\Python27\\lib\\site-packages\\python_openid-2.2.5-py2.7.egg
> > > > > ',
> > > > > 'c:\\Python27\\lib\\site-packages\\python_dateutil-1.5-py2.7.egg
> > > > > ',
> > > > > 'c:\\Python27\\lib\\site-packages\\distribute-0.6.24-py2.7.egg',
> > > > > 'c:\\Python27\\lib\\site-packages\\django_chronograph-0.2.0.dev-
> > > > > py2.7.egg',
> > > > > 'c:\\Python27\\lib\\site-packages\\pyofc2-0.1.5dev-py2.7.egg',
> > > > > 'c:\\Python27\\lib\\site-packages\\anyjson-0.3.1-py2.7.egg',
> > > > > 'c:\\Python27\\lib\\site-packages\\django_pagination-1.0.7-py2.7
> > > > > .egg ',
> > > > > 'c:\\Python27\\lib\\site-packages\\gdata-2.0.17-py2.7.egg',
> > > > > 'c:\\Python27\\lib\\site-packages\\flickrapi-1.4.2-py2.7.egg',
> > > > > 'c:\\Python27\\lib\\site-packages\\threadpool-1.2.7-py2.7.egg',
> > > > > 'c:\\Python27\\lib\\site-packages\\jcc-2.13-py2.7-win32.egg',
> > > > > 'c:\\Python27\\lib\\site-packages\\lucene-3.6.0-py2.7-win32.egg'
> > > > > , 'c:\\Python27\\Lib', 'c:\\test\\git_repo\\src',
> > > > > 'c:\\test\\git_repo\\src\\plunk4', 'C:\\Program
> > > > > Files\\Java\\jdk1.6.0_26\\bin', 'C:\\Program
> > > > > Files\\Java\\jdk1.6.0_26\\bin\\client', 'C:\\Program
> > > > > Files\\Apache
> > > > Software
> > > > > Foundation\\Apache2.2', 'C:\\WINDOWS\\system32\\python27.zip',
> > > > > 'c:\\Python27\\DLLs', 'c:\\Python27\\lib\\plat-win',
> > > > 'c:\\Python27\\lib\\lib-
> > > > > tk', 'C:\\Program Files\\Apache Software
> > > > > Foundation\\Apache2.2\\bin', 'c:\\Python27',
> > > > > 'c:\\Python27\\lib\\site-packages',
> > > > > 'C:\\Python27\\Lib\\site-packages\\JCC-2.13-py2.7-win32.egg\\jcc
> > > > > .dll ', 'C:\\Program Files\\Java\\jre6\x08in\\client\\jvm.dll',
> > > > > 'C:\\Python27\\Lib\\site-packages\\JCC-2.13-py2.7-win32.egg\\jcc
> > > > > .dll ', 'C:\\Program Files\\Java\\jre6\x08in\\client\\jvm.dll']
> > > > >
> > > > > wsgi.multithread = True
> > > > >
> > > > > mod_wsgi.process_group = ''
> > > > >
> > > > > os.environ = 'c:\\Python27\\lib\\site-packages\\jcc-2.13-py2.7-
> > > > >
> > >
> win32.egg;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\system
> > > > > 32\\wbem;c:\\program
> > > > > files\\common files\\roxio shared\\dllshared\\;c:\\program
> > > > > files\\common files\\roxio shared\\10.0\\dllshared\\;C:\\Program
> > > > > Files\\Java\\jdk1.6.0_26\\jre\\bin;C:\\Program
> > > > > Files\\Java\\jdk1.6.0_26\\jre\\bin\\client;c:\\ant\\apache-ant-
> > > > > 1.8.2\\bin;c:\\python27\\scripts;c:\\python27;c:\\program
> > > > > files\\git\\cmd;c:\\program
> > > > >
> > >
> files\\ibm\\gsk8\\lib;C:\\PROGRA~1\\IBM\\SQLLIB\\BIN;C:\\PROGRA~1\\I
> > > > > B
> > >
> M\\SQLLIB\\FUNCTION;C:\\PROGRA~1\\IBM\\SQLLIB\\SAMPLES\\REPL;C:\\
> > > > > Program
> > > > > Files\\MySQL\\MySQL Server 5.5\\bin;C:\\Program
> > > > >
> > >
> Files\\QuickTime\\QTSystem\\;c:\\Python27;C:\\WINDOWS\\system32\\Wi
> > > > > ndowsPowerShell\\v1.0;C:\\Python27\\Lib\\site-packages\\JCC-2.13
> > > > > -py2
> > > > > .7-
> > > > > win32.egg;'
> > > > >
> > > > >
> > > > >
> > > > > I think the problem has something to do with how paths are being
> > > > > interpreted when the jcc script is run via command line versus
> > > > > when it is
> > > > run
> > > > > inside the MOD_WSGI process. I believe it is inserting extra \\
> > > > > in the
> > > > path
> > > > > separator.  So rather than c:\\python27\\Lib paths are being
> > > > > interpreted
> > > > as
> > > > > c:\\\\python\\\\Lib
> > > > >
> > > > >
> > > > >
> > > > > Appreciate any help on this. I have been stuck for a few days now.
> > > > >
> > > > >
> > > > >
> > > > > Thanks.
> > > > >
> > > > > Carlos
> > > > >
> > > > > * *
> > > > > *What version of the product are you using? On what operating
> > > > > system?*
> > > > >
> > > > > lucene-3.6.0-py2.7-win32.egg
> > > > >
> > > > > JCC-2.13-py2.7-win32.egg
> > > > >
> > > > > Python 2.7.1
> > > > >
> > > > > Windows XP 32 bit
> > > > > Apache 2.2.2
> > > > >
> > > > > **
> > > >
> > > >
> > > >
> >
> >
> >


Reply via email to