Skip to content

Windows support #1

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

Open
richfitz opened this issue Dec 7, 2017 · 11 comments
Open

Windows support #1

richfitz opened this issue Dec 7, 2017 · 11 comments

Comments

@richfitz
Copy link
Owner

richfitz commented Dec 7, 2017

Getting windows support working probably requires implementing the contents of R/http.R to work with named pipes (likely this file will split into a transport layer - simple in the tcp case, fairly simple for unix socket and possibly complex for named pipes?). It's possible that the ?fifo function can do most of what we need

@richfitz
Copy link
Owner Author

richfitz commented Dec 7, 2017

The docs say though:

Similarly, the Docker client can use -H to connect to a custom port. The Docker client will default to connecting to unix:///var/run/docker.sock on Linux, and tcp://127.0.0.1:2376 on Windows.

So if that's the case then there's not much that needs doing because getting access to the tcp://127.0.0.1:2376 will be very straightforward. I just need to track down a windows computer with docker and see

@richfitz
Copy link
Owner Author

@richfitz
Copy link
Owner Author

richfitz commented Feb 2, 2018

As of e67ddc0, there's some groundwork to support faking this through httppipe though that package has not yet been made to work on windows. Not everything works (streaming in particular) but hopefully this will ease make it easier to do a full port

@richfitz
Copy link
Owner Author

richfitz commented Feb 7, 2018

httppipe now works on windows, but not via appveyor (but that's just because of issues with linux vs windows images from the look of it). It's very much a stop-gap, but hopefully all the work can be isolated into the httppipe package now

@richfitz richfitz added this to the CRAN release milestone Apr 17, 2018
@richfitz
Copy link
Owner Author

Windows 7 via docker toolbox does not use named pipes but uses docker machine. Unfortunately it looks like there are issues with communication over the winssl curl driver, at least on @OJWatson's machine

@nuest
Copy link
Contributor

nuest commented Oct 19, 2018

Travis now supports windows:

I can try to find some time to try it out, but before that: @richfitz What's the current state? Any updates not mentioned here?

@richfitz
Copy link
Owner Author

Current state is just

  • the python hack should work for now
  • a better solution requires someone good at windows to write a named pipe http client (@weshinsley may help with this)
  • containers on windows seem quite different at least on appveyor
  • the travis windows support is very welcome and will hopefully help!

When I've asked around, I've not yet found anyone really doing much with docker on windows. Perhaps with win10 that will change more

@davidski
Copy link

I'll represent as a Windows 10 user running Docker! 😄

I've not yet been able to get stevedore:::httppipe_available() to pass and am stuck with errors that the docker module is not available. I can manually load reticulate and run reticulate::import(docker) so I'm a little stumped as to why the stevedore calls aren't working.

Working code on my system:

reticulate::py_run_string("import sys")
reticulate::py_eval("sys.path")
reticulate::py_run_string("sys.path.insert(1, 'C:/users/davidski/Documents/R/win-library/3.5/stevedore/py')")
reticulate::py_run_string('import httppipe')

@richfitz
Copy link
Owner Author

Could you add this as a new issue please @davidski, and can you please show the output of stevedore:::httppipe_available(verbose = TRUE) there?

@davidski
Copy link

Didn't mean to hijack the thread! 😄 I wanted to voice support for Windows support, where possible, and offer myself as a test subject where/if needed. I was able to get httppipe_available() to work. Not quite sure what I did outside of a full RStudio restart. There's no caching in reticulate AFAIK so I'm not sure why that module was failing to import. Perhaps it just needed a good night's sleep. 😉

@richfitz
Copy link
Owner Author

No worries 😁

@weshinsley has plans for native named pipe support - hopefully we'll make some progress on that this year

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants