-
-
Notifications
You must be signed in to change notification settings - Fork 2
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
Best strategies for Windows installation #11
Comments
We just had a SWC workshop this past weekend and a faculty member did not come back on the second day over frustration with hours spent trying to get |
In the last SWC workshop I was involved with (more than 6 month ago), there were some issues with not finding nano after using the Windows installer. We suggested participants used RStudio as their text editor. They had it already installed given it was a R-flavored workshop. |
I have always used the windows installer because I'm not familiar with windows and thought it was the default, but almost always have install issues with the majority of windows users. In my last workshop I was able to get them using notepad when nano failed and it worked ok despite line-end issues. I think we should seriously consider using Atom as the teaching editor. Yes, it makes for multiple-window issues in teaching, but learners using Notepad or Notepad++ will have multiple windows, too, and multiple windows are really a more realistic working environment for most people. As said on the listserv, this is a teaching opportunity to show how the shell and the GUI file system interact, and Atom can also be configured as a default git editor. I note that upcoming releases of RStudio will have a built-in terminal window and will allow users to use the RStudio text editor as a default git text editor. This should work across platforms but I don't know if RStudio will run git-bash or some other non-default shell. I have no understanding of the various windows shells. |
I think having a quality text editor is an essential piece of software that will serve workshop participants well to have sorted out, so I agree with @noamross suggestion that "multiple windows" is not an important issue. However, I still think Nano is very handy to have available and it would be nice to have integrated with the Windows shell. |
Another part of the conversation that started on the discussion list was the question of what is actually is necessary for the Windows set up. Currently the installer assumes the user installs "Git for Windows" independently, then runs the installer to add Nano, Make, and SQLite. There seems to be a lot of interest in ensuring Nano is available, but are people commonly using Make and SQLite? |
I have never taught Make or SQLite for a workshop, but I always teach R-type workshops, so I don't know. I just checked with the developer and the new RStudio terminal will support git-bash on Windows: https://twitter.com/GaryTRitchie/status/839969422001369089 |
I never taught Make or SQLite. Most of the workshops that I taught were Python based workshops and Python is a more "powerful" tool than Make, i.e. you can do more stuffs with Python than with Make so for (beginners) learners was pointless to learn Make. I know that Make is a great tool to compile C/C++/Fortran code or to manage workflow dependencies but for most of my learners the time invest to learn Make would not payoff. About SQLite, I remember that a few learners had asked for a SQLite workshop but the number was small, less than 10%. |
Perhaps worth pointing out that SQLite is a core part of Data Carpentry workshops, and these are taught using the Firefox GUI SQLite plugin. In that case, I've asked Windows folks to install SQLite from the sqlite.org site directly. That's worked fine. I also think Another thought: could we convince the Git for Windows folks to add |
Thanks for all the feedback. Here are poll results It seems like people are using and like using the SWC Installer. The main issue that it's solving though is a text editor for gitbash, since Make and SQL aren't generally being taught in SWC. To @naupaka's point, in Data Carpentry, we do just have them use the SQLite plugin for SQL, so the installer isn't used for SQL there. It is nice to teach nano or another command line text editor, because it's what people will see if they log onto a remote Linux computer and will likely be their only option. We want to keep having people install gitbash as their command line, because they need it anyway for the git section. So, we need to either
Option 2 seems consistent with the feedback on what's needed and would likely be lower maintenance. Does that seem reasonable? Would anyone be able to write a python script that could do that, even based off the current installer code? Then I think one of the installer maintainers could turn it into an executable. |
I tested Cygwin and I didn't like the installation steps because learners will need to search for the packages and the GUI is confuse. One option is use a command line installation. If we could have an one-click installer based on Cygwin would be great. I prefer to enforce the use of Atom during the workshop instead of rely on our own (hack) script to patch nano into Git on Windows. |
There is discussion about Cygwin and the SWC installer at swcarpentry/windows-installer#2 As @rgaiacs says, the Cygwin GUI installer is clunky, but using command line can be much cleaner: something like |
Combining Option 2 and 3, it looks like it would be possible to create a customized "Git for Windows" installer that includes Nano using the Git for Windows SDK, https://github.com/git-for-windows/git/wiki/Technical-overview The git-for-windows/MSYS2-packages list includes Nano, so it seems like the code is available. Has anyone used Git for Windows SDK? |
The Git for Windows SDK does looks promising! I've let the folks on the Software Carpentry Steering Committee know about this thread, so they could help come to a decision on how to proceed. |
One of the things that I shortly investigate was providing a batch script (not bash script, the one for Windows!) to download Cygwin and run it using the options that we want. But I couldn't find one way to download Cygwin |
To be clear, a one-click installer based on Cygwin is what I've been advocating for a while. If I can have just a little more time I can make a demo soon. |
In fact, if anyone wants to try it out now, they can install my SageMath for Windows installer, the latest version of which is at: https://github.com/embray/sage-windows/releases/tag/0.1a4-7.4 It's very large and takes a long time to install, but that's because Sage itself is huge and comes with a lot of other packages and data. But ultimately all this is is a customized Cygwin install. What I have in mind for SWC would be almost exactly the same, just without Sage and its dependencies (but with Python, R, and related packages). (Note: It's also almost entirely self-contained and can be easily uninstalled. It will just leave any config files it created in your home directory). |
I've done a bit of investigating and have determined that Git for Windows is disinclined to add nano to their main project, but an alternative is developing our own custom installation package using the Git for Windows SDK and adding the features we'd like. @embray Is it possible to resolve the issue with Cygwin's default home directory/file structure causing paths that are confusing to new learners? I used Cygwin for a semester-long class for new programmers and this issue was incredibly difficult to manage. |
The windows installer gives learners three things: nano, sqlite, and make. An extra data point for consideration of supporting the updating of this software is that (according to our records) sqlite is only occasionally taught at workshops (and an effective alternative installation strategy is available), while make has not been taught in recent memory (e.g., 12-18 months, but please correct me if I'm wrong!). |
@k8hertweck Thanks for your investigation. I have a proof of concept in place at carpentries/workshop-template#391 that can be preview at http://rgaiacs.github.io/swc-workshop-template/. @embray I will be grateful if you could review the pull request. |
@justbennet I think these comments would be most useful directly on the PR @rgaiacs made carpentries/workshop-template#391 |
Apologies to all. I was perhaps misled by the comment preceding it and did not register that the conversation should move. I will repost there. I see I can delete it have done so. Sorry, again. |
Could you say a little more about this? Are we just talking about the fact that the |
Here's a preview for a possible alternative to carpentries/workshop-template#391 There's no instructions yet (hence no alternative PR to workshop-template, but I can work on that). This is the "stand alone" installer I've mentioned putting together: https://github.com/embray/windows-installer/releases/tag/v0.4a0 (I'm still in the process of uploading the built executable, which is extremely slow right now for some reason) Upsides
DownsidesThese are downsides to using Cygwin, regardless of how it gets installed:
(this is an annoyance to me when I use Cygwin too; I am writing a wrapper around
TODO
|
On the Python issue, I'm not entirely sure installing Anaconda is really necessary for sure (though I don't know how much not using Anaconda would impact the lesson material). Jupyter / IPython and the notebook work fine under Cygwin, as do most scientific Python packages that are used in the lessons (namely Numpy, scipy). |
Re: Anaconda Python in Cygwin issue: @rgaiacs @embray This is an issue with the MinTTY terminal, so the same issue exists with Git Bash in my experience. This can be avoided by opening Cygwin or Git Bash in the Windows I just tested this on Windows 10, installing Anaconda Python 3.6 64-bit, then Cygwin 64-bit.
|
@evanwill Thanks for the info on that. On the downside, the I've actually had this problem with other software compiled for Windows that doesn't recognize MinTTY as a pty interface (docker comes to mind). There's a program called All that said, I think there's still an argument to be made for just using Cygwin's |
It seems like there are enough (many!) good things here to continue to pursue this. If you can put together something for us to try, that would be terrific. |
Hi Tracy.
That's absolutely the plan. I'm trying to fit this in among other work
commitments, but I'll try to make at least a *little* progress each week.
Cheers,
-Brian
…On 8 September 2017 at 05:37, Tracy Teal ***@***.***> wrote:
It seems like there are enough (many!) good things here to continue to
pursue this. If you can put together something for us to try, that would be
terrific.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#11 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAO3L9rH5HoqAmFEGC1q4Aa27DDnhjcUks5sgEX_gaJpZM4MYFpw>
.
|
@k8hertweck I mean, as I've already said here and elsewhere I've already made a prototype Cygwin installer that would probably be just about ready for field-testing, I think, if even one person tried it out an provided some feedback. I'd be happy to restart work on that if someone tried it out, because it's a solution that I think is easy (almost brainless really) and works well. But otherwise I'm burnt out on the issue. |
"metapackage" is not necessary--my Cygwin-based installer is built simply by installing Cygwin and the desired packages, then zipping up the resulting filesystem layout and stuffing into a simple InnoSetup installer. The installer unpacks the files on the user's system, installs some shortcuts, and that's it. It's very simple by comparison to any other option I've seen. I'm not sure what you mean by "drive mapping" but it's possible to use Windows paths in Cygwin like The only annoyance I have is that files that are hidden in Windows are not hidden from *nix tools which can be rather ugly at times. |
Can you provide a link? I will test it to you before go home. |
Eric,
I will give it a try on Windows 10 and provide feedback. Do you have a
pilot version for Carpentry, or still the Sage installer referred to in the
issue?
…-- bennet
On Thu, Oct 5, 2017 at 10:52 AM, Erik Bray ***@***.***> wrote:
@k8hertweck <https://github.com/k8hertweck> I mean, as I've already said
here and elsewhere I've already made a prototype Cygwin installer that
would probably be just about ready for field-testing, I think, if even one
person tried it out an provided some feedback. I'd be happy to restart work
on that if someone tried it out, because it's a solution that I think is
easy (almost brainless really) and works well. But otherwise I'm burnt out
on the issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#11 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABhYwgJtMXb65u6rMfkbcQrP7JODwXEoks5spO0vgaJpZM4MYFpw>
.
|
@rgaiacs @justbennet Thanks. This comment provides some overview: #11 (comment) It's specifically for SWC, not the Sage one I referred to (but based on it partially). This was before the SWC/DC merge. At the time I made it the major issues were to do with git/nano/bash/make integration and so its goal was to make something that (hopefully) resolves that area of problems. I wouldn't call it workshop-ready yet because of the as of yet unresolved issue of how to handle Python/R. For Python some still seem to think installation of Anaconda should be preferred, but in the context of this installer I'm not so sure. Most/all of the Python libraries that might come up in a typical workshop work fine in the standard Python that comes with Cygwin, and in the interest of keeping the installer smaller and better integrated I think that should be preferred, and I don't see much advantage to using Anaconda. That said, I think Anaconda is still worth pointing out as a good scientific Python distribution for Windows, but how that integrates (if at all) with the lesson plan is unclear to me. |
To be clear I'm not strongly for or against other options, it just seems strange to me that a general consensus would form around options for which nobody is available to provide the experiences and resources to make it work... |
Windows 7 (x86)
Windows 10 (64)
Feedback@embray Thanks for the work. Looks good to me except for the warning. |
@rgaiacs Thanks for the feedback--
Can you clarify this? Are you saying that this is a problem on Cygwin or a problem that this resolved? |
Eric, I was not able to get to testing yesterday, but I will do so on Sunday. Sorry for the i/o wait. Don't want to drop packets, though. |
+1 I was just creating a record for us not forget. :-)
Great to know.
A problem that this resolved. This problem was what motivated me to write the email that started a previous "text-editor flame war" on the list (that I'm not proud for the record). |
Eric, I just installed from the web site. Apart from the Windows Defender being disappointed in me for installing anyway, this looks quite great! All the common programs are in the path and seem to just work: head, tail, nano, man, make, ls, cp, mv, ssh, sftp, vi, sqlite3, rsync, gzip, tar, git, python. Windows commands are available from the prompt; i.e.,
opens the file in Notepad. The one thing that was weird was that the Terminal opened the first time in /etc/skel the first time. Subsequent openings of the Terminal seem to open in the user home directory. When I am teaching people about bash and scripting, I really want a competent environment that looks like a 'real machine'. This does a very good job of it. I downloaded via a wireless connection, and it did not take very long. I installed using an account that is an administrator, but I was not prompted for a password or extra authentication. I installed on Windows 10 Home edition, version 1703. I think this is much better than the shell that the Git Bash installer left. This is basically a Cygwin installation, and if the Cygwin setup program were left on the system, then Cygwin would be a useful program, and users/participants would be able to extend or expand their Cygwin environment, if they chose. Perhaps that introduces a complication that shouldn't be introduced in the workshop setting, but a page with supplemental instructions on adding a Cygwin installer would be a cool add-on. Leaving the installer also means that people would be able to update, if they find it useful. If I recall, unistalling is as simple as removing C:\cygwin and deleting the shortcuts on the desktop and menu, yes? I don't see anything about this that looks like it might be a hidden gotcha except that initial startup in /etc/skel. Otherwise, I found no surprises. Thanks for working on this. Sorry I did not get to testing it sooner. I vote for continued development and eventual adoption of this Cygwin installer. |
Just checking in to say thanks to all for building + testing! Let me know how I can help get this out to the community. |
thanks @embray! Issues are not available on your installer repository, but it might be better to have a more specific conversation over there or in a new thread? |
If you are following this issue and didn't read http://opendreamkit.org/2017/10/11/SageWindows/, I right recommend you to do it soon, specially the sections "Rationale for Cygwin and possible alternatives" and "Challenges with 32-bit Windows/Cygwin". @embray works/demo involves Cygwing and I will recommend for us to try to use it in 2018. |
There's an update that nano will be available in the next Git for Windows release. The Release Notes for the upcoming release are a work in progress at https://github.com/git-for-windows/build-extra/blob/master/ReleaseNotes.md#changes-since-git-for-windows-v2150-october-30th-2017 Then the release will be available at https://github.com/git-for-windows/git/releases |
Who will decide whether to drop Git for Windows, and when will they do it? Can I move that an up or down vote be taken by whoever takes such things on the good work @embray did to make an alternative to Git for Windows? If a vote is anappropriate, then would someone explain who will decide, how, and when? That seems to be a missing and critical component of discussing alternatives. |
@justbennet I've been asked to help shepherd which installer we use, but it's not been entirely clear to me what the process should be, so I'm muddling along slowly. My current feeling is that I'd like to use @embray's work, since it's already ready (as far as I can tell from this thread) and just needs finalizing. I have a call w/ @rgaiacs today and I think we'll discuss and try to determine next steps. |
Christina, Thanks. I thought it might be helpful to make the decision process more explicit. I hope no one took offense. This just seemed like the situation I've experienced with a lot of co-op arrangements where people are unsure how to move from discussion to decision. This is also taking place in a side-channel with 15 participants, away from the bulk of instructors, and I do not know whether or how deciding on what to use for the Windows installer would get brought back to the 'committee of the whole', or if it would. |
no offense taken @justbennet. It's helpful to have the push to move forward, so I appreciate it. |
I couldn't find plans for the next release. From the release log, looks like they might release something in the next couple of months. |
Patrick McCann reports that "he noticed a change in the Git Bash installer - apparently since yesterday. When installing 2.15.1, the installer asks if you want to use Nano, Vim (selected by default) or Notepad++ (I've tried attaching a screenshot, but I'm not sure if it will work on the mailing list). After choosing Nano, that program was available to use as soon as installation was complete." So, this new release seems like it's out. Let's continue to update this issue to see how the new release works in a workshop. |
Thanks @tracykteal - see also carpentries/workshop-template#447 |
Since last week nano is included in the Git-for-Windows installer. (Make sure to use v2.15.1(2) or greater, as the initial v2.15.1 caused some nasty error messages when using vim.) We have used a combination of Git-for-Windows 2.15.1 and Anaconda3 5.0.1 during a workshop this weekend and I believe most Windows users were unable to start As we were caught a bit off-guard we used the workaround of starting the Jupyter Notebook via the Start Menu or from the "Anaconda Prompt" which worked until I went to Lesson 10 (Command-Line Programs) in the last 20 min of the workshop. Three users were not able to install Anaconda3 5.0.1 on Windows. Two of them managed to install the latest Miniconda installer and then install a few extra packages with |
I tested Git-for-Windows v2.15.1.2 on Windows 7 and selected the option to use Nano as default editor. On a fresh install Nano works perfectly as expected. However, when updating from a previous install Nano did not work, resulting in the "redirection not supported" error--so make sure to uninstall the older version first. Python still does not work directly in the MinTTY terminal--it and other interactive programs need to be started using |
(cross-post on carpentries/workshop-template#447 ) I have just confirmed that on a fresh installation on of Git-for-Windows v2.15.1.2 and Anaconda3 v5.0.1, neither the This can be addressed in several ways:
Any suggestions? |
I'm continuing the conversation from carpentries/workshop-template#447 to no longer block merging the PR. Since I wrote the comment above, I'm more and more convinced that in order to activate the Anaconda Python under Git Bash one should use Questions:
While I don't really like providing the users with some "magic script that just fixes it", I'm afraid that a significant number of participants would introduce typos when trying to add it themselves. That could cause significant delay at the beginning of the Python session. |
If you've been teaching, how have you been handling installation for Windows? Have you been using the SWC Windows installer? If so, what has your experience been or if you haven't what have you been doing instead?
Comment here and take this quick poll
Software Carpentry Windows installation poll: https://tinyurl.com/swc-windows-install
The text was updated successfully, but these errors were encountered: