J'essaye de déployer un environnement Django de production sur Windows 10 avec Apache 2.4.37 x64 OpenSSL 1.1.1 VC14 d'ApacheHaus . Cependant, en suivant ces instructions , j'obtiens l'erreur suivante:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -ID:/Servers/Web/Apache/Apache24/include -Ic:\programs\python37\include -Ic:\programs\python37\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\cppwinrt" /Tcsrc/server\mod_wsgi.c /Fobuild\temp.win-amd64-3.7\Release\src/server\mod_wsgi.obj mod_wsgi.c d:\servers\web\apache\apache24\include\apr_network_io.h(29): fatal error C1083: Cannot open include file: 'apr_perms_set.h': No such file or directory error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2 ---------------------------------------- Failed building wheel for mod-wsgi
Je vois les options suivantes pour le compilateur C / C ++: -ID: / Servers / Web / Apache / Apache24 / include -Ic: \ programmes \ python37 \ include
. Il semble donc que le fichier d'inclusion apr_perms_set.h
soit absent d'Apache ou de Python.
Comment corriger cette erreur avec les versions correctes des fichiers d'inclusion? J'ai bien peur que ce ne soit pas bien de prendre simplement la dernière version d'un référentiel car elle peut ne pas correspondre à ce qu'attendent Apache ou mod-wsgi.
3 Réponses :
Vous pouvez télécharger le fichier manquant depuis Github et le copier dans le répertoire
C:/Apache24/include
quel github? Ce n'est pas si utile!
J'ai eu une erreur similaire sur Windows Server 2016, en essayant d'utiliser Apache 2.4 64bit avec Python 2.7. Apparemment, les fichiers d'en-tête apr étaient manquants. J'ai pu le résoudre en:
pip install mod_wsgi
(dans mon environnement virtuel).
J'ai copié le fichier manquant (apr_perms_set.h) des fichiers téléchargés Apache Runtime dans le dossier c: / apache24 / include
, puis exécuté py setup.py install
à partir du dossier mod_wsgi
Billet ouvert ici bz.apache.org/bugzilla/show_bug.cgi?id=64304
La distribution de The Apache Haus n'inclut pas le fichier d'en-tête mentionné ci-dessus pour une raison étrange. Essayez d'utiliser la distribution de Apache Lounge , elle doit contenir tous les fichiers d'en-tête nécessaires pour compiler mod_wsgi (testé avec httpd-2.4.41-win32-VS16.zip).
Cela a fonctionné pour moi. Ils doivent inclure ces en-têtes. L'intérêt de distribuer un binaire est la commodité!
apr
signifie Apache Portable (C) Runtime, c'est donc le côté où il devrait exister, pas Python. Voyez si vous pouvez le trouver sur le disque dans le A inclut du tout ...