I am using mod_wsgi for python 2.7 and it completely works well
without zmq things.
And zmq works well when it used stand alone.
I don't know why mod_wsgi cannot import zmq.
Plus, it does not work even if I remove add site-package things.
On Jan 6, 11:20 am, Graham Dumpleton graham.dumple...@gmail.com
wrote:
On 6 January 2012 12:39, Psi kev0...@gmail.com wrote:
i am trying to make web site which retrieves query from the user, and
process it by C++ based searching program. In order to achieve this, I
used python script which gets the query and send the query to C++
program by zeromq. However it seems like mod_wsgi cannot import zeromq
even though it perfectly worked well without mod_wsgi or without
zeromq
I got an error message like this;
File D:/wsgi_app/wsgi_app.py, line 2, in module,
referer:http://localhost/
import zmq, referer:http://localhost/
File D:\\util\\Python27\\lib\\site-packages\\zmq\\__init__.py, line
35, in module, referer:http://localhost/
from zmq.utils import initthreads # initialize threads,
referer:http://localhost/
ImportError: DLL load failed: \xc1\xf6\xc1\xa4\xb5\xc8
\xb8\xf0\xb5\xe2\xc0\xbb \xc3\xa3\xc0\xbb \xbc\xf6 \xbe\xf8\xbd
\xc0\xb4\xcf\xb4\xd9., referer:http://localhost/
The code below shows how I implemented it. Please help me
import site
site.addsitedir(D:\\util\\Python27\\Lib\\site-packages)
Why are you needing to explicitly add site-packages into sys.path?
This immediately suggests you are doing something wrong as it should
not be necessary.
Is mod_wsgi.so you are using for Python 2.7? Did you install Python
for all users or just the user you installed it as? You are supposed
to install it for all users.
Presuming that zmq module has a C extension component, is that module
compiled as 32 bit for the Python version mod_wsgi is compiled for?
Graham
from cgi import parse_qs, escape
import zmq # HERE IS THE ERROR
def application( # It accepts two arguments:
# environ points to a dictionary containing CGI like environment
variables
# which is filled by the server for each received request from
the client
environ,
# start_response is a callback function supplied by the server
# which will be used to send the HTTP status and headers to the
server
start_response):
# get a query from the webpage :)
data = parse_qs(environ['QUERY_STRING'])
query = data.get('query', [''])[0]
query = escape(query) #prevent script injection
context = zmq.Context()
socket = context.socket(zmq.REQ)
socket.connect (tcp://localhost:) #connect to C++ search
server database
socket.send (query)
# build the response body possibly using the environ dictionary
response_body = 'The request method was %s' %
environ['REQUEST_METHOD']
# HTTP response code and message
status = '200 OK'
# These are HTTP headers expected by the client.
# They must be wrapped as a list of tupled pairs:
# [(Header name, Header value)].
response_headers = [('Content-Type', 'text/plain'),
('Content-Length', str(len(response_body)))]
# Send them to the server using the supplied function
start_response(status, response_headers)
# Return the response body.
# Notice it is wrapped in a list although it could be any iterable.
return [response_body]
--
You received this message because you are subscribed to the Google Groups
modwsgi group.
To post to this group, send email to modwsgi@googlegroups.com.
To unsubscribe from this group, send email to
modwsgi+unsubscr...@googlegroups.com.
For more options, visit this group
athttp://groups.google.com/group/modwsgi?hl=en.
--
You received this message because you are subscribed to the Google Groups
modwsgi group.
To post to this group, send email to modwsgi@googlegroups.com.
To unsubscribe from this group, send email to
modwsgi+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/modwsgi?hl=en.