-
Notifications
You must be signed in to change notification settings - Fork 537
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
windows support? #14
Comments
When we find a volunteer to implement it ;) |
@1st1 Hi, I'm interested in implementing this proposal, is anyone already working on it ;)? |
@brickgao As far as I know no one is. |
@1st1 I have a little trouble porting |
I don't think Windows supports signals, so you should probably add checks like |
@brickgao Do you think we should find more people to look into this problem? |
@1st1 Sure, I find that there isn't a quick way to port uvloop with the native Windows API. I would try to port uvloop with Cygwin these days first, cuz I find Cygwin provide most of the *NIX API on Windows. |
@1st1 I find that Cygwin haven't provided Python3.5 officially :(, so we should work on it with the native Windows API again. Maybe we should find more people to look into this problem. There are two major parts we need to port, socket and signal. For socket, most of socket functions could be easy to ported by changing the header file, but Windows don't provide |
Libuv already provides a platform agnostic interface to signals and sockets (e.g. http://docs.libuv.org/en/v1.x/signal.html). You shouldn't have to deal with the Windows API at all. |
@schlamar You should have looked at uvloop source code first, before assuming that we don't know some basic libuv APIs. @brickgao Sorry for the delayed reply. For signals specifically I use
For the Windows port we don't need (1). We might need to play with Windows APIs to workaround (2), I suggest you to look at how CPython handles Ctrl+C on Windows. As for |
Had a quick hack to make it buildable in windows (win7, python 3.5.2 x64): https://github.com/iceb0y/uvloop/commit/fa2b7db1d7940149bb8d16e856e7d1a642f3e6b8 build snippet:
in /, use python3, do the same as makefile
Had a test with aiohttp server - the current stucking problem is that uvloop uses Notice that |
dup is introduced in 6e9c43b maybe we need to find another way to solve the problem described by the commit? |
Your PR looks very good, thanks a lot for working on this. I believe we don't need to do anything special for signals or forks. As for |
Sharing handle objects seems not working. uv still complains Changing What do you plan for |
Some workarounds to the signal based on @iceb0y 's commits: brickgao@eb9b9b7 |
Just to remove it completely. Right now it's there to save uvloop from segfaulting when someone uses sockets from transports with add_writer API. |
@1st1 I've fixed sendfile support on aiohttp master. |
Super cool! Thanks!
Wow. Maybe this is something worth investigating? Is it something that asyncio causes? |
@1st1 I think the windows signal code is actually platform-independent
|
@1st1 I cannot reproduce the problem locally. The only error what I have is travis report: https://travis-ci.org/KeepSafe/aiohttp/builds/157838616
|
@iceb0y In the latest version of uvloop I've redesigned how signals are implemented. No more libuv or system API calls, I now only use Python's |
tested on windows - the signal handling code doesn't work on windows, probably due to usage of
Why does signal handling use a |
FWIW I'm working on to add Windows support in https://github.com/MagicStack/uvloop/tree/win. Any help is welcome. |
Here's the PR #62 |
For those on windows 10, I believe you can use bash on ubuntu and install uvloop on there for now, or at least that seems to have worked for me. |
Great! FWIW I don't have time to focus on the IOCP win port right now, but I can definitely help with reviews/suggestions if someone is interested in it. |
@1st1 @luckcolors would be interesting for me, too! Any chance? Would be great to see frameworks like Sanic working on Windows :) |
Nothing prevents sanic from working on Windows. uvloop should be an optional dependency. |
Some project like uvicorn (https://github.com/encode/uvicorn) use uvloop and cannot be used on windows which is very restrictive |
uvloop should be an optional dependency. It doesn't provide any extra APIs on top of vanilla asyncio, it's an accelerator. It happens that uvloop only works on posix right now and it's OK. Please file a bug report to uvicorn to make uvloop dep optional. |
Yuri, what's the state of play with getting the windows port working? I might be interested getting this done (I have a use case for it) ... at least as one contributor. I've worked with libuv in c/c++, so I know my way around that. Any idea how much work would be invoved time wise to get something functional? |
I almost got it working, except cases where the API accepts an existing socket to work with. I.e. |
Cool! That sounds like it's viable or close enough for me as it stands already, but I'll be happy to pick up the ball and contribute moving forwards. |
@1st1 ,can you merge master into win branch? |
I'll take a look on Monday. Are you using the win branch? |
No, but our project is using uvloop and python 3.6. I am going to make it cross-platform.
|
I've rebased it. Have no idea if it still compiles on Windows, but it does compile OK on *nix after the rebase. |
I tried to instal branch 'win' and got folowing errors. Failed buildwarning: uvloop\handles/stream.pyx:318:8: Unreachable code warning: uvloop\loop.pyx:2750:4: Unreachable code
Command "python setup.py egg_info" failed with error code 1 in C:\Users\Maxim\AppData\Local\Temp\pip-joj6i769-build\ |
Hi All, |
Hello from 2018 , good luck guys completing it :) |
Good luck, windows support would still be appreciated |
Any progress? |
It would be helpful if it at least said in the readme that it currently has no Windows support. |
Hi Yuri, I understand that you are super busy, but I myself & as I see lots of people, are not able and have not the skills to make it work on Windows. I would like to kindly ask you to finally, easily make it possible to install this package on Windows 64 bit systems. Lots of people are looking for it. Many thanks |
Any updates on this? If I could be caught up to speed on what's been done and discovered, I think I could start working on it. |
I'd love to help test! |
Sure, by all means. I'd start with trying to recover the |
I'm locking this issue. I don't have time to work on this in my personal time. It doesn't make sense to work on this during my work time. If the community really needs this then someone will start submitting PRs which I'll happily review and help with advice. |
wonderful project!when to suppert windows?
The text was updated successfully, but these errors were encountered: