Installing Development Tools on Windows - GMU-ASRC/neuroswarm GitHub Wiki

You need several pieces of software to run any experiments on Windows:

Summary

Required

  • Python 3.11 or newer
  • git

Recommended

  • Windows Terminal
  • VSCode
    • Ruff
    • Python, Pylance, Python Debugger
    • jupyter
    • YAML
    • transpose
    • GitHub Pull Requests or GitLens
  • openssh

Optional

  • gsudo
  • nushell + zoxide + fzf

Required

Python

Windows

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.

image

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.

Ubuntu / Linux / MacOS

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!

Git

Go here https://git-scm.com/downloads and follow the instructions to install Git

Windows Installer Options

Windows users click here

If prompted, use the following options:

image

image

image

image

image

image

Use the default selection for all other options.

GUIs

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/

Recommended

Windows Terminal

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".

VSCode

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

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.

Optional

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 Windows

    Some 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:

    1. Open a new admin terminal by pressing Start , then type Terminal , and press Ctrl + Shift + Enter
    2. Accept the UAC prompt
    3. Navigate to where you want to run the command
    4. Run your command

    With gsudo:

    1. At your existing prompt, type gsudo <your command here>
    2. 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 using zoxide:

    1. cd to go home
    2. Type cd Doc and Tab to auto-complete to cd Documents, then press Enter
    3. Type cd pro and Tab to auto-complete to cd projects, then press Enter
    4. ls or cd ./ and mash Tab because I can't remember the directory structure, then find what I'm looking for
    5. Finally, I can cd my_project and get to where I wanted to go.

    With zoxide installed and configured, I simply cd 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.

⚠️ **GitHub.com Fallback** ⚠️