Installing Development Tools on Windows - GMU-ASRC/neuroswarm GitHub Wiki
You need several pieces of software to run any experiments on Windows:
- Python 3.11 or newer
- git
- Windows Terminal
- VSCode
- Ruff
- Python, Pylance, Python Debugger
- jupyter
- YAML
- transpose
- GitHub Pull Requests or GitLens
- openssh
gsudo
-
nushell
+zoxide
+fzf
On Windows, you can install multiple versions of Python. You need a version of Python greater or equal to 3.11. t There are several different ways to install Python on Windows. One of them is a Microsoft Store install of Python, which we highly discourage using.
Warning
Microsoft Store installs of Python may cause issues. To check if you have any installs of Microsoft Store versions of Python, click Start and type "Installed Apps" (or "Apps & features" on Windows 10). TODO: Find out how to differentiate Microsoft Store versions of Python in this menu. Then, click on "App execution aliases" and turn off any entries that have "python" in them.
Instead, download the Python installer from the website: https://www.python.org/downloads/ by clicking on the yellow button.
Run the installer that you downloaded.
Note
When you open the installer, be sure to check the
- Add python.exe to PATH
checkbox!
Then, click the Install Now button and continue with the Python installation.
For Unix-based systems, we recommend installing pyenv
, especially if you're on Ubuntu or a Linux distribution that comes with a system install of Python.
Go to https://github.com/pyenv/pyenv and read the install instructions.
Once you're able to run pyenv doctor
without errors, run pyenv install 3
which will install the latest version of Python 3.
Finally, to verify your installation, run pyenv global 3
and python -c "import _ctypes"
.
If both of these run without error, and python --version
gives a version number higher than Python 3.12
, then you're done installing Python!
Go here https://git-scm.com/downloads and follow the instructions to install Git
Windows users click here
If prompted, use the following options:
Use the default selection for all other options.
Some users may prefer to use a GUI to visualize commits. Git has a list of them here:
https://git-scm.com/downloads/guis
I personally use Sublime Merge. It is sadly not free, but you may evaluate it without payment: https://www.sublimemerge.com/
This should be installed by default on most Windows 10 and 11 computers now. If not, look up how to install it.
To run it, press the Start button and search for "Terminal".
We recommend you Install VSCode:
https://code.visualstudio.com/
If you choose to use a more open-source editor such as VSCodium or VIM and its variants, I'll assume you know what you're doing. I may not be able to provide support concerning their usage or help troubleshoot LSP issues such as with BasedPyright et al. If you don't know what this paragraph means, don't worry about it.
OpenSSH is included on most new Windows installs. If you are on a very old Windows 10 or older install, you may need to manually enable the feature, or install something like PuTTY. I may not be able to provide support for these.
These pieces of software are very useful, but not necessary to have. They also require familiarity with the command line to install, so I won't cover detailed installation. Instead, I'll simply showcase why each one is useful:
-
gsudo
for WindowsSome commands require that you have admin or root permissions. If you're familiar with
sudo
on Linux-based systems, you know how easy it is to get an admin terminal or run a single command with admin privileges.gsudo
is my favorite Windows equivalent.Without
gsudo
:- Open a new admin terminal by pressing Start , then type Terminal , and press Ctrl + Shift + Enter
- Accept the UAC prompt
- Navigate to where you want to run the command
- Run your command
With
gsudo
:- At your existing prompt, type gsudo <your command here>
- You might need to accept the UAC prompt.
-
nushell
A much faster shell than PowerShell. Much nicer commands, too. Still somewhat green in the teeth.
-
zoxide
+fzf
To move around the filesystem at the command line, you use the
cd
command. However, this can be cumbersome. Here's a common scenario before I started usingzoxide
:-
cd
to go home - Type
cd Doc
and Tab to auto-complete tocd Documents
, then press Enter - Type
cd pro
and Tab to auto-complete tocd projects
, then press Enter -
ls
orcd ./
and mash Tab because I can't remember the directory structure, then find what I'm looking for - Finally, I can
cd my_project
and get to where I wanted to go.
With
zoxide
installed and configured, I simplycd my_
and I'm there (assuming I've been there before).fzf
is similarly useful for finding files with only parts of file names in mind. -