Dies hängt mit den Dingen zusammen, die wir auf der PyCon besprochen haben
wischen. geplant für R18.
Einiges Update dazu:
MACHEN:
Behandeln Sie den Start/Stopp/Neustart des Dienstes, um Gunicorn als vollständigen Windows-Dienst zu verwenden. Es ersetzt irgendwie die Verwendung von Signalen unter Unix.
der Support wird endlich in R20 erfolgen . Ich werde nächste Woche die neue PR erstellen, um die Entwicklung dieses Features zu verfolgen.
Dinge zu beheben sind:
Wie ist der Fortschritt beim Hinzufügen von Windows-Unterstützung für Gunicorn?. Oder eher Wie weit sind Sie von R20 entfernt ? Ich habe das gleiche Problem wie #587
Langsamer Fortschritt. Ich möchte R19 jetzt mit der Thread-Arbeit veröffentlichen. Ich werde am Montag eine Version veröffentlichen. die Windows-Unterstützung wird gleich danach eintreffen.
Ist diese von Windows unterstützte Version irgendwo verfügbar?
Windows-Unterstützung wird in R20 sein, also wird es wohl noch eine Weile dauern, bis Guincorn Windows-Unterstützung haben wird... Ich habe eine VM mit Ubuntu erstellt, und das funktioniert für mich.....
Bin nur neugierig, ob es Fortschritte gibt. Als erster Durchgang muss es nicht einmal schnell sein; Ein großer Vorteil wird sein, einfach mit Gunicorn unter Windows entwickeln und auf einen Linux-Server (zB Heroku) pushen zu können, ohne die Konfiguration zu ändern.
@robertlagrant es steht auf meinem todo. Ich muss zuerst eine Windows-Lizenz finden. R20 erscheint im Oktober,
Wie sieht es mit den VM-Images bei modern.ie aus? Diese sind kostenlos und legal
Am 22. September 2014 um 15:30 Uhr schrieb "Benoit Chesneau" [email protected] :
@robertlagrant https://github.com/robertlagrant es steht auf meiner todo bis
das Ende des Jahres. Ich muss zuerst eine Windows-Lizenz finden.—
Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/benoitc/gunicorn/issues/524#issuecomment -56372470.
Ich habe vor kurzem modern.ie-Bilder verwendet, um eine Web-App im IE8 zu testen. Einfach loszulegen und hat super funktioniert.
@benoitc Ich glaube, dass die PSF Ihnen bei Bedarf eine Windows-Lizenz zur Verfügung stellen kann.
@benoitc gibt es dafür einen WIP-Zweig? Ich bin kein Windows-Benutzer, aber ich kann mir das ansehen.
@berkerpeksag nein noch nicht :/ wir sollten wirklich so
Wie @cyberdelia sagte, könnten wir bei der PSF eine Windows-Lizenz anfordern, die das Gunicorn-Projekt für eine solche Entwicklung verwenden könnte. Die Gedanken?
Es ist eine gute Idee. https://www.python.org/psf/grants/ enthält alle Informationen zu Förderanträgen.
Irgendwelche Updates dazu?
Dazu suche ich auch Updates.
@berkerpeksag lass uns so pinge mich nur manchmal vorher an, da ich heutzutage von allem weg bin :)
@benoitc ein Update zu diesem Thema?
@lealhugui soweit ich weiß gab es seitdem keine Fortschritte. Jedenfalls kam ich mit einem Plan:
Ich kann mit einer Veröffentlichung manchmal im März rechnen. Möglicherweise früher, aber ohne Versprechen :) Die Arbeit kann natürlich schneller gehen, wenn jemand helfen kann, der Windows tatsächlich besser kennt als ich (Hinweis, ich benutze Windows seit 1995 nicht mehr...)!
@ benoitc nach Mitte Januar kann ich helfen (im Grunde testen oder alles, was Sie brauchen und ich könnte helfen).
@lealhugui danke! Ich werde Updates so schnell wie möglich bereitstellen
Hoffentlich läuft es gut. Sind wir mit dieser Veröffentlichung im März noch gut?
@tannaalok unwahrscheinlich. Hoffentlich kann @benoitc die IPC-Arbeit veröffentlichen und dann ist vielleicht Windows-Support möglich. Es wird einige Zeit dauern, bis die IPC-Arbeiten landen, dann wird der Rest der Windows-Arbeit entdeckt, sortiert und bearbeitet. Es ist sehr schwer zu sagen.
@tilgovi die IPC-Arbeit wird manchmal nächste Woche endlich in einer Filiale landen :)
Nun zur Windows-Version, hier ist der Plan, den ich im Kopf habe. Das erste, was Sie tun müssen, wäre, Gunicorn an ein Windows-CI anzuschließen, um Probleme zu bemerken. Es gibt dann 2 Szenarien, Gunicorn in Cygwin ausführen oder Gunicorn in einfachen Fenstern ausführen. Die beiden können unterschiedliche Ergebnisse auslösen und müssen getestet werden. Soweit ich weiß, sind die Dinge, um Gunicorn tragbar zu machen, die folgenden:
Habe ich etwas vergessen? Jede Hilfe ist willkommen, ich bin selbst kein Windows-Benutzer. Jeder, der Erfahrung mit Windows hat und dabei die Führung übernehmen möchte, um die Windows-Plattform zu einem ersten Bürger in Gunicorn zu machen, ist willkommen!
Python 3.5 fügt eine nützliche Funktion hinzu, um Signale unter Windows zu verarbeiten: signal.set_wakeup_fd() akzeptiert jetzt ein Socket-Handle unter Windows.
https://docs.python.org/dev/library/signal.html#signal.set_wakeup_fd
wie @cyberdelia sagte, wir könnten bei der PSF um eine Windows-Lizenz bitten
Microsoft bietet kostenlose MSDN-Lizenzen für Python-Kernentwickler. Als Core-Entwickler habe ich beispielsweise Zugriff auf Visual Studio 2015.
@haypo danke. Eigentlich könnte man damit auch den Arbiter unter Unix wecken... Sehr nützlich.
Wenn ein Core-Entwickler helfen könnte, dann wäre das nützlich :) Irgendeine Idee, wie man nach einem fragen kann, wenn es sich um ein externes Projekt handelt?
Sie haben auch die WSL (Windows für Linux) für die Windows-Fähigkeit
Kann eine Person mit begrenzten Linux- und Gunicorn-Kenntnissen helfen, dies auf Windows zu portieren, oder sind die Probleme zu nicht trivial?
Warum ist dieses Thema geschlossen? Ich kann keine Informationen zum Arbeiten unter Windows finden
Dieses Thema ist noch offen.
@DominikDitoIvosevic es ist noch offen. Ich werde diese Woche manchmal eine Art Roadmap bereitstellen.
Ich bin heute in einige Kompatibilitätslektüre gestolpert. Ich habe mir meine Arbeit zu #1310 angesehen. Ich habe FD_CLOEXEC anders behandelt als systemd C-Bibliotheken. Das führte mich zu PEP 446 , wobei ich über das Verhalten von fork
nachdachte und mich daran erinnerte, dass es unter Windows kein fork
.
Um mit den Dingen zu beginnen, sind hier ein paar Dinge, die wir auf der Roadmap benötigen:
os.fork
, wahrscheinlich durch multiprocessing.Process
WorkerTemp
durch multiprocessing.Pipe
Wenn ich bei der Arbeit mit Windows feststecke, würde mir das wirklich helfen. Ich freue mich sehr auf diese Funktion!
Ich weiß, dass dies vielleicht keine Antwort ist, aber ich finde Kellnerin wirklich gut für
Fenster.
2016-08-08 22:39 GMT+03:00 hirolau [email protected] :
Wenn ich bei der Arbeit mit Windows feststecke, würde mir das wirklich helfen. Mit Spannung
Dieses Feature!—
Sie erhalten dies, weil Sie diesen Thread abonniert haben.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/benoitc/gunicorn/issues/524#issuecomment -238351654,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AALnfBAXBrmPlU1JPx6RXI0vFQPLmBlyks5qd4XhgaJpZM4AnyCw
.
Hochachtungsvoll,
Gleb
@chester89 das ist dort sicher nicht wirklich angebracht....
@hirolau Ich habe letzten Monat eine MSDN-Entwicklerlizenz erhalten, damit ich sie einfach unter Windows testen kann. Hoffentlich kann @berkerpeksag bei Tests helfen. Ich werde einen Plan entwerfen, damit wir ihn manchmal nächsten Monat zur Verfügung haben :)
@benoitc - schamlose Beule!
Ich verwende normalerweise Windows, daher wird die Arbeit mit Gunicorn an Fenstern sehr geschätzt. Vielen Dank !
Hast du Pläne, wann es fertig sein wird?
Gibt es darüber irgendwelche Neuigkeiten? Wir sind gezwungen, Windows in der Produktion zu verwenden. Wenn die Arbeit ins Stocken geraten ist, könnten Sie den Entwurf des Plans teilen? Danke schön!
@cmorgan Die gleiche Situation hier. Hat jemand Updates zu diesem Thema?
@benoitc gibt es dazu Neuigkeiten?
Hallo alle zusammen
Gibt es darüber irgendwelche Neuigkeiten?
Ich bin sicher, dass dem Problem alle Updates hinzugefügt werden. Es besteht keine Notwendigkeit, nach Updates zu fragen.
Hallo zusammen,
Entschuldigung, dass ich vorher nicht geantwortet habe. Ich war in diesen Tagen ziemlich beschäftigt. Es scheint also, dass viele Leute auf dieses Feature warten, es ist an der Zeit, es zu schaffen. Ich werde bis Sonntag einen Plan darüber entwerfen und einen Weg finden, es zu verwirklichen :)
Ich glaube, dass die Aufteilung in kleinere, besser umsetzbare Aufgaben der beste Weg sein könnte.
Als solches habe ich #1467 für den Teil "CI einrichten" mit PR #1468 zum Hinzufügen einer AppVeyor-Konfiguration eingereicht. Ein Beispiel-Testlauf ist hier zu sehen:
https://ci.appveyor.com/project/edmorley/gunicorn/build/windows-ci.18
Zusätzlich zu den größeren Änderungen, die in den vorherigen Kommentaren erwähnt wurden (Signale, Arbeiter-IPC, Umgang mit fehlenden Gabeln usw.), müssen folgende Punkte gelöst werden, bevor die Tests überhaupt ausgeführt werden:
ImportError: No module named fcntl
( fcntl.fcntl() wird von close_on_exec() und set_non_blocking() verwendet )ImportError: No module named grp
( grp.getgrnam () durch verwendet wird validate_group () )ImportError: No module named pwd
( pwd.getpwnam () durch verwendet wird validate_user () )ImportError: No module named resource
( resource.getrlimit() wird von get_maxfd() verwendet , obwohl diese Methode unbenutzt erscheint - ich habe #1469 geöffnet, um sie zu entfernen)AttributeError: 'module' object has no attribute 'AF_UNIX'
(wird vom Klassenattribut FAMILY
auf UnixSocket verwendet )AttributeError: 'module' object has no attribute 'geteuid'
( os.geteuid() wird vom Standardwert der AttributeError: 'module' object has no attribute 'getegid'
( os.getegid() wird vom Standardwert der @edmorley danke, werde es mir so
Wann kann ich diese Funktion respektieren? Diese Ausgabe begann vor etwa vier Jahren。
Hi,
Wir wollen diese Funktion auch haben, haben wir eine Idee, wann dies der Fall sein könnte?
Hallo, wann wird das bearbeitet? :)
Wenn jemand helfen möchte, wäre es hilfreich, eines der Probleme anzugehen , die
Beachten Sie, dass sich einige Dinge dramatischer ändern können, um dies zu ermöglichen.
Dafür gibt es derzeit keinen Zeitplan. Wenn Sie helfen möchten, ist IRC möglicherweise der beste Ort, um darüber zu chatten oder kleinere Probleme für einzelne Arbeitselemente zu öffnen.
Bitte abonnieren Sie diese Ausgabe, wenn Sie über den Fortschritt informiert werden möchten. Im Moment gibt es keine Zeitleiste.
FWIW, Gunicorn funktioniert in Cygwin unter Windows. Ich weiß, das ist nicht sehr hilfreich, aber da ist es...
@Zorlin Ich kann es mit Cygwin unter Windows nicht zum offiziellen Dokumentation zu machen
$ pip install gunicorn
$ cat myapp.py
def app(environ, start_response):
data = b"Hello, World!\n"
start_response("200 OK", [
("Content-Type", "text/plain"),
("Content-Length", str(len(data)))
])
return iter([data])
$ gunicorn -w 4 myapp:app
Ich bekomme immer diesen Fehler in Cygwin
<project-name>\flask\lib\site-packages\gunicorn\util.py", line 9, in <module>
import fcntl
ModuleNotFoundError: No module named 'fcntl'
dies läuft auch im Subsystem von Windows 10, also wird es vielleicht nicht mehr benötigt?
Um Windows nativ zu unterstützen, benötigen wir Folgendes:
CreateProcessW
, um einen Prozess anstelle von os.fork zu erzeugen (vielleicht Wiederverwendung der _winapi-Abstraktion, die in Multiprocessing verwendet wird?(Vielleicht die Wiederverwendung der _winapi-Abstraktion, die in Multiprocessing verwendet wird?
Übrigens, Multiprocessing verwendet CreateProcess
in popen_spawn_win32.py
und ist nicht Teil des Abwärtskompatibilitätsprozesses von Python, da es sich um ein internes Modul handelt.
Hallo alle zusammen! Wie sind die Fortschritte bei diesem Thema? Haben wir Zieltermine für die Fertigstellung in Sicht? Vielen Dank!
@bartmika Nr. Es wird kein Zieldatum geben. Wir haben viel zu tun, wie Benoitc beschrieben hat. Wir freuen uns über Hilfe. Wie oben erwähnt, abonnieren Sie diese Ausgabe für Updates. Wir werden aktualisieren, wenn es etwas zu teilen gibt.
Danke @tilgovi ,
Ich würde gerne darüber diskutieren, ob möglicherweise ein Kopfgeld auf das Schließen dieses Themas ausgesetzt wird. Möge ein Entwickler von Gunicorn mich unter bart [ at ] simalam.com kontaktieren
Dankeschön!
@bartmika sorry war eine arbeitsreiche Woche. Ich melde mich morgen, sobald ich Kontakt mit @tilgovi & @berkerpeksag hatte . Gute Idee jedenfalls.
@benoitc wollte nur den Status von Gunicorn für Windows überprüfen. Ich sehe, dass es noch kein Veröffentlichungsdatum gibt, wollte aber sehen, ob es eine Beta gibt, die ich unter Windows testen kann.
Die Arbeit von
@bartmika Ich wurde in diesen Tagen
Gibt es jetzt also eine Unterstützung für Windows?. Es ist Dezember
Sich auf etwas freuen! Es ist Januar.
@benoitc Irgendwelche Updates?
Hi,
Einfach nochmal einchecken, gibt es etwas Neues?
Vielen Dank
Mike
Hi
Kann ich Apache Airflow jetzt unter Windows verwenden?
Vielen Dank
Sudhakar
Hi,
Ich versuche den folgenden Befehl, aber ich erhalte diesen Fehler. Können Sie dabei helfen?
(flaskms) C:\Users\Socrates>gunicorn --bind 0.0.0.0:8000 hello-world:app
Traceback (most recent call last):
File "c:\programdata\anaconda3\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\programdata\anaconda3\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\ProgramData\Anaconda3\Scripts\gunicorn.exe\__main__.py", line 5, in <module>
File "c:\programdata\anaconda3\lib\site-packages\gunicorn\app\wsgiapp.py", line 10, in <module>
from gunicorn.app.base import Application
File "c:\programdata\anaconda3\lib\site-packages\gunicorn\app\base.py", line 12, in <module>
from gunicorn import util
File "c:\programdata\anaconda3\lib\site-packages\gunicorn\util.py", line 9, in <module>
import fcntl
ModuleNotFoundError: No module named 'fcntl'
Als Hack habe ich eine fcntl.py
Datei mit dem folgenden Inhalt erstellt, sie als fcntl.cpython-36.pyc
Datei kompiliert, im Ordner __pycache__
abgelegt, das Terminal neu gestartet und den Befehl gunicorn --bind 0.0.0.0:8000 hello-world:app
, aber immer noch kein Glück.
fcntl.py-Inhalt:
FD_CLOEXEC = 1
F_DUPFD = 0
F_GETFD = 1
F_SETFD = 2
F_GETFL = 3
F_SETFL = 4
F_GETOWN = 5
F_SETOWN = 6
F_GETLK = 7
F_SETLK = 8
F_SETLKW = 9
F_RGETLK = 10
F_RSETLK = 11
F_CNVT = 12
F_RSETLKW = 13
F_RDLCK = 1
F_WRLCK = 2
F_UNLCK = 3
F_UNLKSYS = 4
def fcntl(fd, op, arg=0):
return 0
def ioctl(fd, op, arg=0, mutable_flag=True):
if mutable_flag:
return 0
else:
return ""
def flock(fd, op):
return
def lockf(fd, operation, length=0, start=0, whence=0):
return
Habe das von https://stackoverflow.com/questions/11087682/does-gunicorn-run-on-windows
Wäre hilfreich, könnte jemand die derzeit beste Gunicorn-Alternative für Windows vorschlagen?
Update: Ich benutze jetzt Kellnerin , sehr gute Alternative :)
Es ist 5 Jahre her und gibt es ein Update zu diesem? Vielen Dank.
@hsluoyz Das letzte, was öffentlich passiert ist, war am 16. März dieses Jahres, glaube ich.
Hi,
Noch kein Glück damit, die Gabel in Windows zum Laufen zu bringen?
Hi,
Ich hätte Interesse an diesem Ticket zu arbeiten.
Wie ist der aktuelle Stand des Hafens?
Wie ist der aktuelle Stand des Hafens?
PR #1468 wurde vor einem Jahr zusammengeführt, wodurch Tests für AppVeyor unter Windows hinzugefügt wurden, aber das AppVeyor-Konto muss aktiviert werden, bevor es ausgeführt werden kann.
Danach muss jemand die Fehler durchlaufen, die bei den Windows-Testläufen auftreten.
@edmorley Ich kümmere mich heute um Appveyor.
@ Sweenpet noch nicht viel. Als erstes müssen Sie sich die Testergebnisse ansehen und daraus Tickets erstellen.
Außerdem müssen wir uns über den Umfang entscheiden:
Ich schlage vor, das morgen manchmal über IRC zu diskutieren, wenn Sie wollen?
Ich habe appveyor im Repository installiert:
@ benoitc , ich habe die Anwendung (examples/flaskapp.py) und alle Tests, die auf WSL für Ubuntu 18.04 und Python 3.6.5 ausgeführt werden. Vermutlich sollte es für alle anderen in der Tox-Datei angegebenen Versionen funktionieren. Die Tatsache, dass es auf WSL läuft, würde die meisten Probleme von Windows-Benutzern lösen, die ich mir vorstellen würde, es sei denn, sie laufen nicht unter Windows 10. Wird Cygwin immer noch häufig verwendet?
Ich freue mich, morgen eine Diskussion über die native Unterstützung für Windows zu führen. Welche Zeit passt?
Werde diese Tickets morgen auch erstellen, scheint sich hauptsächlich um native Linux-Module und -Sockets zu drehen.
FWIW, ich benutze Cygwin unter Windows
Wenn Python unter Windows nicht richtig läuft (zB psycopg2, weasyprint und was nicht), warum zum Teufel behauptet Python immer noch, dass es plattformübergreifend ist? Bisher läuft es nicht einmal richtig unter Windows 10.
@jtan4nih diese Einstellung ist unangebracht.
Python ist plattformübergreifend, Gunicorn nicht.
Entschuldigung, dass ich schrecklich auf die Spur gekommen bin. Ich würde sagen, wenn jemand Gunicorn nativ auf Windows ausführen möchte, würde ich gerne jeden Patch akzeptieren und alle Fragen beantworten.
siehe cs01/gdbgui#18, vielleicht hilft
Es ist 7 Jahre her und hast du Glück, es zu verwirklichen?
Ich habe möglicherweise einen Zyklus, den Sie im März dafür ausgeben. Ich muss eine finden
Möglichkeit, Windows irgendwo auszuführen. Sie können es bereits im Terminal ausführen
ohnehin.
auch jeder, der tatsächlich Windows verwendet, kann zu diesem Thema helfen.
Versuchen Sie es mit waitress
.
gunicorn
Design von
Wenn ich mir diese Youtube-Tutorials ansehe, wie man Django auf Heroku mit Gunicorn einsetzt, frage ich mich wirklich, wie es ihnen möglich ist, das zu tun, während ich immer noch mit dem Gunicorn-Problem feststecke lol
Versuchen Sie es mit
waitress
.
gunicorn
Design von
Kellnerin unterstützt kein richtiges Multiprocessing.
Gibt es eine ungefähre Idee, wie es unter Windows gemacht werden könnte, um die richtige Multiprocessing zu unterstützen?
Wissen wir, was bisher die größten Hindernisse für die Umsetzung sind?
Ich habe möglicherweise einen Zyklus, den Sie im März dafür ausgeben. Ich muss eine Möglichkeit finden, Windows irgendwo auszuführen. Sie können es sowieso bereits im Terminal ausführen.
Könnten die Win10-Entwicklungs-VMs eine Lösung für Sie sein, um Windows auszuführen und die Gunicorn-Kompatibilität zu überprüfen?
Vielleicht können wir pywin32
für Windows anstelle von fnctl
für Windows verwenden, es scheint, dass sie Dateisperrfunktionen haben.
Hilfreichster Kommentar
@jtan4nih diese Einstellung ist unangebracht.
Python ist plattformübergreifend, Gunicorn nicht.