-
Notifications
You must be signed in to change notification settings - Fork 201
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
Problem: ARTIQ setup via conda or src is complex #319
Conversation
caca70b
to
eeaac35
Compare
As a first step you should talk to the Windows users. We had discussed this at great length on IRC a while ago already. If you ever want to coexist with the rest of a usual Python distribution (that you don't want to maintain, package, and build on multiple architectures yourself) or if you are looking at Windows at all, NIX is just a hip but naive hack that simply doesn't scale to the problems we have. Like docker. |
Solution: Provide a single command to download, compile and install dependencies.
Then close the pull request. |
Let's leave it for a while. There could be differing views. And if these NIX recipes don't go stale, I'd be the last to reject them. |
They are called Nix Expressions.
|
But will you maintain them? |
Irritate me with silly hipster comments and it won't happen.
|
I've been giving Nixos a try, and I don't think it's fair to call nix a "naive hack". There is definitely a lot of thought that went into it. You can run a complete, usable Linux distro out of nix, and things actually work properly. The main issue I have with it is the lack of documentation, or documentation that has gone out of date. Compared to conda, nix is a lot faster, more powerful, and less buggy. It also has functionalities equivalent to docker, which you started using. It reportedly works with the Linux subsystem for Windows, but I have not tried it. |
Don't make a strawman out of that comment. If it is better, if it works on Windows as well, it it leads to less maintenance, if it gives anywhere near the completeness of a Python distribution like conda, if it is well documented, and if it means an end to the complaining, I am clearly wrong. |
Quality is definitely higher.
I'll test it when I get a chance. That would only work on recent Windows with that Linux subsystem, though (or Cygwin, but Cygwin is buggy and generally crappy).
It probably does.
What is considered "complete" for scientific users? The usual suspects (numpy, scipy, matplotlib, pandas, pyqtgraph, ipython, jupyter) are working just fine. I think you might also be overestimating the reach of conda; in my experience, many users install conda only because they want to install ARTIQ.
Documentation is lacking as I mentioned, in many cases you have to understand some of the nix language and RTFS. But it doesn't sound very complicated to produce a "nix cheat cheat for scientific/conda users" that describes in simple terms the basic operations of managing environments and installing/removing the usual packages. Also, I'd rather learn some nix basics than deal with obscure conda bugs. |
Which appeared in Windows 10 last year, so Windows 7 wouldn't be supported. |
Things don't look too good with WSL at the moment. Setting things up requires many steps, and nix tickles some WSL bug that need working around - these two problems might get better as there are plans to add NixOS to the MS Store. A bigger problem is the GUI; this needs yet another step to manually install and start a X server on the native Windows side. Then it is slow, with a lot of flickering, and crippled with bugs; there are various rendering issues, and application freezes and crashes. I'm particularly worried that ARTIQ applet embedding will not work. |
Also note that WSL isn't even supported on all current Windows 10 builds – for example, it hasn't hit whatever enterprise fork our university is mandating (even on machines where we otherwise have full admin access), as I was dismayed to find out a while back. |
Solution: Provide a single command to download, compile and install
dependencies.