Step 1: Dependency Installation#

Select the tab for your operating system below, and follow the instructions to begin installing the Duckietown software dependencies.

1) Install dependencies

The basic development tools that you will need are pip3, git, git-lfs, curl, and wget. Install these by running the following commands in the shell:

sudo apt update
sudo apt install -y python3-pip git git-lfs curl wget

If you are running Ubuntu on a virtual machine, install the package open-vm-tools in addition to the normal Ubuntu dependencies:

sudo apt install open-vm-tools

Checkpoint ✅

Before continuing, run the following test command

Test

pip3 --version

Expected Result

This command should output a version number for the pip3 package.

Tip

Never skip a checkpoint!

If you continue past a test that did not work, you will have further software issues down the line, and they will be more complex to fix. Instead, if you do not get the expected outcome at any checkpoint:

  • First check for any troubleshooting sections on the page that might match the problem.

  • If you run into any issues that can’t be solved using the troubleshooting sections, join the Duckietown community on StackOverflow and Slack following the instructions below and search for previous solutions.

You can join the Duckietown community on Slack at this link. There you can request an invitation to the Duckietown Stack Overflow team.

1) Install Git

Most versions of macOS will already have Git installed, and you can check that it is installed by running the command git version in a terminal. However, if you don’t have Git installed, you can follow these instructions to install it.

Once you confirm that git is installed on your system, follow these instructions to install git-lfs.

2) Install Quartz

You will also need the latest version of XQuartz.

You can install it using brew,

brew install xquartz

Or, download it from here and follow the instructions.

After installing XQuartz, run it by executing the command,

open -a XQuartz

Go to “Preferences” and in the “Security” tab make sure that the checkbox next to “Allow connections from network clients” is ticked. You can now close XQuartz.

Note

If you just installed XQuartz, you may need to restart your computer before the following command runs successfully in the Shell.

export IP=$(ifconfig en0 | grep inet | awk '$1=="inet" {print $2}')
xhost +$IP

This will find your IP address and allow incoming connections, to enable popping up windows from within Docker containers.

We suggest adding the above lines to your shell configuration file, if you do not wish to run the commands above every time you open a new terminal.

If you do not already know which shell you are using, run:

basename $SHELL

If bash - you’ll need to modify your .bashrc file. If zsh - you’ll need to modify your .zshrc file.

Remember to source your config file if you want to keep using the current shell session.

3) Install pip3

Your computer may already have pip3 installed. Check by running:

pip3 --version

If you are rewarded with a successful version output, continue on. If not, search online for “How to install pip3 macOSx”, e.g., with Homebrew:

brew install python3

Troubleshooting

SYMPTOM

The command xhost is not found.

RESOLUTION

Add the path /usr/X11/bin to your PATH variable. e.g., PATH=/usr/X11/bin:${PATH} xhost ....


Checkpoint ✅

Tip

Never skip a checkpoint!

If you continue past a test that did not work, you will have further software issues down the line, and they will be more complex to fix. Instead, if you do not get the expected outcome at any checkpoint:

  • First check for any troubleshooting sections on the page that might match the problem.

  • If you run into any issues that can’t be solved using the troubleshooting sections, join the Duckietown community on StackOverflow and Slack following the instructions below and search for previous solutions.

You can join the Duckietown community on Slack at this link. There you can request an invitation to the Duckietown Stack Overflow team.

1) Install dependencies

The basic development tools that you will need are pip3, git, git-lfs, curl, and wget. Install these in your Ubuntu WSL by running the following commands in the shell:

sudo apt update
sudo apt install -y python3-pip git git-lfs curl wget

Checkpoint ✅

Before continuing, run the following test command

Test

pip3 --version

Expected Result

This command should output a version number for the pip3 package.

Tip

Never skip a checkpoint!

If you continue past a test that did not work, you will have further software issues down the line, and they will be more complex to fix. Instead, if you do not get the expected outcome at any checkpoint:

  • First check for any troubleshooting sections on the page that might match the problem.

  • If you run into any issues that can’t be solved using the troubleshooting sections, join the Duckietown community on StackOverflow and Slack following the instructions below and search for previous solutions.

You can join the Duckietown community on Slack at this link. There you can request an invitation to the Duckietown Stack Overflow team.