2017-09-22 3 views
1

Ich versuche (hart) Umgebung für Django App unter Windows mit XAMPP einzurichten.Wie installiere mod_wsgi auf Windows + XAMPP in 2017

Was ich habe:

  • Windows 7 64bit
  • Apache/2.4.25 (Win32)
  • Python 3.6.1 platform.architecture() = ('64bit', 'WindowsPE')
  • Cygwin 2.9.0 (0,318/5/3)
  • MOD_WSGI_APACHE_ROOTDIR zeigt auf apache dir in XAMPP Installation

Was ich schon tat:

Versuchte mit pip install mod_wsgi zu installieren, aber es hat nicht funktioniert, weil apxs konnte nicht gefunden werden. Also habe ich in Cygwin httpd-devel installiert. Jetzt steigt es collect2: error: ld returned 1 exit status Fehler mit der massiven Ausgabe, die ich nicht verstehen kann.

Nach this habe ich WHL-Datei heruntergeladen haben, PYD Datei exctracted aber wenn ich Apache laufen soll ich Syntaxfehler erhalten auf LoadModule wsgi_module modules/mod_wsgi.pyd: Cannot load modules/mod_wsgi.pyd into server: The specified module could not be found.. Ich habe 3 Versionen von WHL ausprobiert.

Ich bin neu in Python/Django und WSGI und ich bin schon fertig ;-)

+0

Warum denken Sie, dass Sie das tun müssen? Sie verwenden mod_wsgi für die Bereitstellung, Sie benötigen es für die Entwicklung nicht. Django ist kein PHP. –

+0

@DanielRoseman Ich arbeite gerne mit Vhosts, ohne zusätzliche Befehle und benutzerdefinierte Server auszuführen. Ich dachte, es sollte einfach sein ... ;-) – Wirone

+0

Nun, du machst es wirklich schwer für dich. Django wird selten unter Windows und noch seltener unter Apache unter Windows eingesetzt, daher ist das Tooling nicht so gut entwickelt wie bei anderen Plattformen. Sie könnten mod_wsgi-express ausprobieren, das ein einfacher Installer sein soll. Oder laufe die ganze Sache unter WSL (zB Bash unter Ubuntu in Windows) anstatt mit Cygwin. Aber Sie verpassen wirklich die Flexibilität, die Ihnen der Dev-Server bietet. –

Antwort

0

Mein erster Versuch war die Schaffung eines virtualenv mit python3.6.2 (32 Bit) und versuchen mod_wsgi auf einem vs2015_x86 zu installieren Eingabeaufforderung, nach dem Set MOD_WSGI_APACHE_ROOTDIT und tun pip install mod_wsgi ich würde eine Reihe von ungelösten Fehlern bekommen.

Dann dachte ich, vielleicht ist es eine 64-Bit-Version von Python erforderlich war, so dass ich python3.6.2 (64 Bit) installiert ist, erstellt eine virtualenv und öffnete eine vs2015 x64-Eingabeaufforderung und die Installation war glatt, das heißt:

(py362_64) D:\sources\personal\python\framework\engine\tests\test>set MOD_WSGI_APACHE_ROOTDIR=C:/wamp/bin/apache/apache2.4.9 

(py362_64) D:\sources\personal\python\framework\engine\tests\test>pip install mod_wsgi        
Collecting mod_wsgi                         
    Using cached mod_wsgi-4.5.18.tar.gz                     
Building wheels for collected packages: mod-wsgi                  
    Running setup.py bdist_wheel for mod-wsgi ... done                 
    Stored in directory: C:\Users\KneDa\AppData\Local\pip\Cache\wheels\75\86\b4\6e5bf5e1cea623c0578dc5d0424a32014f33cd3 
bfde193d987                           
Successfully built mod-wsgi                       
Installing collected packages: mod-wsgi                    
Successfully installed mod-wsgi-4.5.18                    

Eine Sache, auf die Sie achten müssen, ist, wie Sie das MOD_WSGI_APACHE_ROOTDIR setzen, indem Sie / statt \ verwenden und nicht in doppelte Anführungszeichen einschließen.

EDIT:

Auch versucht zu installieren mod_wsgi auf einem python3.6.2 (64 Bit) auf einer normalen cmd prompt (kein Visual Studio Compiler verfügbar) ohne MOD_WSGI_APACHE_ROOTDIR Einstellung und das Rad erfolgreich installiert wurde, das heißt:

(foo) C:\whatever>pip install mod_wsgi 
Collecting mod_wsgi 
Installing collected packages: mod-wsgi 
Successfully installed mod-wsgi-4.5.18 
+0

Danke, ich habe versucht, eigenständiges Python in CMD (nicht Cygwins) zu verwenden, aber ich habe 'Fehler: Microsoft Visual C++ 14.0 ist erforderlich'. Versucht, Build Tools zu installieren, aber weitere Fehler sind aufgetreten (z. B. fehlt 'cl.exe'). Ich habe lange damit gekämpft, weil ich 'ansible' installieren wollte und jetzt erinnere ich mich, warum ich mit Cygwins Python endete - es kann Cygwins GCC verwenden und ich konnte 'ansible' installieren. Ich möchte nicht noch einmal mit VS experimentieren. Ich denke, ich überspringe WSGI und benutze Pythons Server für die Entwicklung oder vielleicht werde ich endlich zu Unix wechseln ;-) – Wirone

+0

Mmmm, das ist komisch, wie du sehen kannst Ich hatte diesen EDIT Kommentar vor 2 Tagen, vielleicht wurde das Rad im Cache gespeichert ? Ich verstehe es nicht, wenn das der Fall wäre, hätte ich die entsprechende Nachricht sehen sollen: /. In jedem Fall habe ich eine wirklich großartige Erfahrung mit vs 'Build Tools ... Wenn ich ein Python Unix-Paket verwenden möchte, vermeide ich diese Pseudo-Tools wie cygwin (schlechte Erfahrung mit Python spielen) und versuchen, zu Virtualbox zu wechseln oder echtes Unix. Wie auch immer, über die fehlende cl.exe, versuche, dem zu folgen, was ich in meiner Antwort vorgeschlagen habe, und öffne eine "visuelle Studio-Eingabeaufforderung", so dass alle env vars richtig eingestellt sind. – BPL

Verwandte Themen