Skip to content
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

Merged
merged 1 commit into from Aug 12, 2018

Conversation

sjmackenzie
Copy link
Contributor

Solution: Provide a single command to download, compile and install
dependencies.

@jordens
Copy link
Member

jordens commented Mar 6, 2016

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.
@sjmackenzie
Copy link
Contributor Author

Then close the pull request.

@jordens
Copy link
Member

jordens commented Mar 6, 2016

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.

@sjmackenzie
Copy link
Contributor Author

sjmackenzie commented Mar 6, 2016 via email

@jordens
Copy link
Member

jordens commented Mar 6, 2016

But will you maintain them?

@sjmackenzie
Copy link
Contributor Author

sjmackenzie commented Mar 6, 2016 via email

@sjmackenzie sjmackenzie closed this Mar 8, 2016
@sbourdeauducq sbourdeauducq reopened this Aug 12, 2018
@sbourdeauducq sbourdeauducq changed the base branch from master to nix August 12, 2018 13:04
@sbourdeauducq sbourdeauducq merged commit e48d440 into m-labs:nix Aug 12, 2018
@sbourdeauducq
Copy link
Member

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.

@sjmackenzie sjmackenzie deleted the nix branch August 12, 2018 14:12
@jordens
Copy link
Member

jordens commented Aug 12, 2018

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.
And I still don't think Docker is a solution to the problems we have with conda. But on top of a packaging system it is a good solution to other problems IME.

@sbourdeauducq
Copy link
Member

If it is better,

Quality is definitely higher.

if it works on Windows as well

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 it leads to less maintenance,
if it means an end to the complaining

It probably does.

if it gives anywhere near the completeness of a Python distribution like conda,

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.

if it is well documented

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.

@marmeladapk
Copy link
Contributor

It reportedly works with the Linux subsystem for Windows, but I have not tried it.

Which appeared in Windows 10 last year, so Windows 7 wouldn't be supported.

@sbourdeauducq
Copy link
Member

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.

@dnadlinger
Copy link
Collaborator

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.

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

Successfully merging this pull request may close these issues.

None yet

5 participants