J’ai un projet Django qui utilise numpy et une autre bibliothèque. J’utilise Anaconda (2.7 32bit) comme interpréteur Python. Je veux déployer le projet Django en utilisant Apache + mod_wsgi.
D’abord, j’installe Apache24 (VC9, 32bit) + Mod_wsgi. Voici mes parameters de fichiers httpd et wsgi
Dans C: \ Apache24 \ conf \ httpd.conf, j’ajoute / modifie les éléments suivants
Listen 8980 LoadModule wsgi_module modules/mod_wsgi.so WSGIPythonHome "C:/Anaconda" WSGIPythonPath "C:/Apache24/htdocs/a;C:/Anaconda/libs;C:/Anaconda/Lib/site-packages" ServerName 127.0.0.1 WSGIScriptAlias / C:/Apache24/htdocs/a/project/wsgi.py Require all granted Alias /static "C:/Apache24/htdocs/a/static/static_root/" Require all granted
dans wsgi.py dans le projet Django:
import sys sys.path.append('C:/Apache24/htdocs/a') sys.path.append('C:/Apache24/htdocs/a/project') import site site.addsitedir('C:\\Anaconda\\Lib\\site-packages') import os from django.core.wsgi import get_wsgi_application # os.environ.setdefault("DJANGO_SETTINGS_MODULE", "philips_crossover.settings") os.environ["DJANGO_SETTINGS_MODULE"]= "project.settings" application = get_wsgi_application()
Mon problème est que lorsque j’accède à 127.0.0.1:8980, je reçois des erreurs.
dans C: \ Apache24 \ logs \ errors.log
Traceback (most recent call last): File "C:/Apache24/htdocs/a/project/wsgi.py", line 20, in from django.core.wsgi import get_wsgi_application File "C:\\Anaconda\\lib\\site-packages\\django\\core\\wsgi.py", line 2, in from django.core.handlers.wsgi import WSGIHandler File "C:\\Anaconda\\lib\\site-packages\\django\\core\\handlers\\wsgi.py", line 11, in from django import http File "C:\\Anaconda\\lib\\site-packages\\django\\http\\__init__.py", line 1, in from django.http.cookie import SimpleCookie, parse_cookie File "C:\\Anaconda\\lib\\site-packages\\django\\http\\cookie.py", line 6, in from django.utils.encoding import force_str File "C:\\Anaconda\\lib\\site-packages\\django\\utils\\encoding.py", line 11, in from django.utils.six.moves.urllib.parse import quote, unquote File "C:\\Anaconda\\lib\\site-packages\\django\\utils\\six.py", line 90, in __get__ result = self._resolve() File "C:\\Anaconda\\lib\\site-packages\\django\\utils\\six.py", line 158, in _resolve module = _import_module(self.mod) File "C:\\Anaconda\\lib\\site-packages\\django\\utils\\six.py", line 80, in _import_module __import__(name) File "C:\\Anaconda\\lib\\urllib.py", line 26, in import socket File "C:\\Anaconda\\lib\\socket.py", line 47, in import _socket ImportError: DLL load failed: The specified procedure could not be found.