-
-
Notifications
You must be signed in to change notification settings - Fork 482
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
Installation guide: Document Sage installation on Windows via VS Code devcontainers #34363
Comments
Author: Matthias Koeppe |
Last 10 new commits:
|
This comment has been minimized.
This comment has been minimized.
Commit: |
This comment has been minimized.
This comment has been minimized.
comment:8
Suggestion: in the alternative installation, I think I would mention that you can also use vscode, but now with extension Remote - WSL which lets you use vscode inside your WSL environment (but this is not mandatory, as someone might want to use an other code editor). Next, I have a question: is there any performance advantages in using docker containers instead of directly running it inside WSL? Thank you very much for simplifying the installation tutorial! |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:11
Replying to @DavidAyotte:
Thanks for the feedback! We already have a section in the manual that explains this. I've linked it. |
comment:12
Replying to @DavidAyotte:
I would think it's the same as running WSL 2 directly |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:14
Replying to @mkoeppe:
In general, Docker is slower (for both io and cpu) then WSL2. How much depends on the particular use case and the setup (e.g. whether the files are located in the windows or linux env). |
comment:15
In general, I'm skeptical if the devcontainer env should be indeed the recommended installation and development method on windows. For installation, it is not clear to me how you would use the "installed" devcontainer in your own projects (i.e. outside of the vscode instance that hosts the sage source tree). For this, wouldn't it make more sense to recommend that people create a devcontainer file in their own project folder, that references a prebuild sage devcontainer? For development, I would still favor wsl over docker for the performance. Moreover, I don't see why this should be a windows-specific recommendation in either case. |
comment:16
Replying to @tobiasdiez:
Even when using Docker's WSL2 backend? |
comment:17
Replying to @tobiasdiez:
Because on macOS and Linux, it is better to run it natively |
comment:18
Replying to @tobiasdiez:
Yes, it would also make sense to do that (not instead, but in addition to what is done here). We have a bit of this already in the "portability testing" section added in #33671; see also #34286 (Cookiecutter for Sage user projects with devcontainer). |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:21
Replying to @mkoeppe:
Can you then please explain and document how to use the sage installation (in the devcontainer) in one's own projects. For example, it is not clear to me how to select the sage python interpreter or juptyer kernel in another instance of vscode. |
comment:34
How about this? |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:36
The doc structure could be, as for other platforms,
We may put the recommended in alternative 1."No development alternative 1" would be the recommended approach for most users. I would put "VS Code + downstream-devcontainer" approach to "No development alternative 1". I would put "VS Code + WSL" approach to "Development alternative 1". Docker is really not necessary in sage development and conceptually more difficult than WSL, I think. For "VS Code + downstream-devcontainer" approach, could we remove the git clone part (which is just to get |
comment:37
Replying to @kwankyu:
Providing a zipped folder with |
comment:38
Replying to @kwankyu:
I would like to keep such things for a follow-up ticket (#34286) |
comment:39
Replying to @mkoeppe:
Sorry for being imprecise. I meant "project" in the sense of "anything that lives outside of the sagemath folder", e.g. ones own jupyter notebooks or similar stuff. To make it precise: how do I contribute to https://github.com/sagemanifolds/SageManifolds using the devcontainer approach? |
comment:40
Replying to @kwankyu:
In general, I like the idea. Maybe we can go even one step further and remove the numbering completely, as there is no clear general hierarchy between the options, but the preferred one depends on the situation. So simply something like "Option: Devcontainer" and "Option: Manual compilation from source in WSL". I would also move the good clarifications by Matthias on when to use which option to the beginning of the decision tree, not after the steps. |
comment:41
No objections if you want to make these edits to the structure. Important point to keep: The devcontainer approach also works on machines where you can run Docker but not WSL. (I do not know how common this scenario is.) |
comment:42
Replying to @tobiasdiez:
Just clone it into a subfolder. |
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
|
comment:44
Merged latest version of #33671. |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:47
For Windows using VS Code, I would find useful to mention also
|
comment:48
Do you have a VS Code documentation link that explains this well? |
Removed branch from issue description -- replaced by PR #37534 |
Based on #33671.
The new documentation:
https://github.com/sagemath/sagetrac-mirror/blob/u/mkoeppe/installation_guide__document_sage_installation_on_windows_via_vs_code_devcontainers/src/doc/en/installation/index.rst#windows
Depends on #33671
Depends on #34301
CC: @tscrim @kwankyu @slel @darijgr @tobiasdiez @saraedum @williamstein @DavidAyotte
Component: documentation
Author: Matthias Koeppe
Issue created by migration from https://trac.sagemath.org/ticket/34363
The text was updated successfully, but these errors were encountered: