Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
brew install python
  1. Install Rust with rustup:

Code Block
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Linux

Linux/WSL

  1. Install python with whatever package manager you like, if not already installed

...

Code Block
sudo apt update
sudo apt install python3 python3-pip
  1. Install Rust with rustup:

Code Block
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Windows

  1. Install Python through the official installer

    1. Download the Python installer from https://www.python.org/downloads/ .

    2. Run the installer, and make sure to check the box that says "Add Python to PATH."

    3. Follow the installation prompts.

  2. Install Rust through the official installer

    1. Download and run the Rust installer from https://rust-lang.org/ .

    2. Follow the installation prompts.

2. Install Git

Same deal with package managers as above, but generally:

Mac

Code Block
brew install git

Linux

Code Block
sudo apt install git

Windows

  1. Download git from the official installer https://gitforwindows.org/

  2. Run the .exe and follow the steps

3. Install and setup Docker (all platforms)

Follow the guidelines found here: Setting Up Docker

4. Setup Scripts

...

 python3-venv

Windows

We use WSL on Windows. All commands henceforth are either from wsl (labelled wsl) or the Windows “terminal” app (labelled Windows)image-20241014-202410.pngImage Added .

From Windows:

Code Block
wsl --update

2. Install Git

Same deal with package managers as above, but generally:

Mac

Code Block
brew install git

Linux and WSL

Code Block
sudo apt update && sudo apt upgrade -y
sudo apt install git

3. Install and setup Docker (all platforms)

Follow the guidelines found here: Setting Up Docker

Windows users: Turn on WSL integration in settings. Do this by going to Settings → Resources → WSL Integration → Check off “Ubuntu”

4. Setup Scripts

Info

It is strongly recommended to maintain a directory structure like the following

> NER
> NER Repo 1
> NER Repo 2


This ensures that the virtual environment will be placed at the same directory level as all repos, which happens automatically if setup like above

To make installs easier, there is a python script found in our embedded-base repo that will install and build every python and rust package, along with building downloading our docker image.

  1. Clone Embedded Base

To do this, you'll need to setup ssh keys on your machine. If you aren’t sure how to do this, take a look at some of our git resources linked further down in this doc, or the many resources online that can walk through this this resource. You'll also need to be added to our GitHub Organization - if you’ve gotten this far, hopefully you’ve been informed of a slack thread where you can add your username so that we can add you.

  1. Open the Embedded-Base repo, and run

Code Block
python ner_environment/ner_setup.py

(if your default python version is 2, run “python3” instead of “python. You can find your default version by running “python --version”)

...

If not reach out to the #s_embedded_software channel

Info

Windows users: For better build performance, clone this to a folder within the Ubuntu disk. Do this by entering the ~ folder with cd ~, then using creating a NERdirectory, then using git clone.

  1. Open the Embedded-Base repo, and run

Code Block
python3 ner_environment/ner_setup.py

^^^ WINDOWS USERS, do this from WSL. If you did not do it from WSL, remove the folder ner-venv and start again.

This script does quite a bit behind the scenes. It pull our docker image, it creates a python venv, and installs packages and sets up entry-points for it. It also installs some other local packages, like OpenOCD (an open source debugger). For a list of all tools that we use, take a look at the next section.

This script will prompt you to answer ‘yes’ (or simply ‘y') or no (or simply 'n’) quite a bit. For most users, you should select yes to all of the prompts. These options are mostly just there in case you have a really weird linux distro (cough cough jack rubacha), or really know what you are doing and want to go about it manually.

  1. Set up shell aliases
    This is by no means mandatory, but it might be helpful and is a bit hard to automate in the above script. If you’d like to save time activating and de-activating the virtual environment, you can alias these commands for whichever shell you are using For now, I’m not going to walk through instructions for doing this here; there’s many shells you all might be using, and a million ways to do this, but if you are unsure of how to do it feel free to ask someone and they can help you through it. I use fish shell on Linux, so I’ve added this line to my config.fish file:

...

Without this alias, activating the ner-venv (or any python venv for that matter) is done by going to the directory where the venv is located (for this case, it should be one higher directory level than the “Embedded-Base” repo) and running:

On Windows (using bash):

Code Block
source ner-venv/Scripts/activate

On Linux/Mac/WSL:

Code Block
source ner-venv/bin/activate

...