MDS software stack install instructions for Windows¶
Important
This guide has been (lightly) adapted from the UBC-Vancouver MDS Install stack under a CC-BY-SA 4.0 license.
These instructions will walk you through installing the required Data Science software stack for the UBC Master of Data Science program. Before starting, ensure that your laptop meets our program requirements:
Attention
Those computer requirements are not necessary for COSC/DATA 301 students. However, at a minimum you will need a good Internet connection to complete your assignments on the cloud.
runs one of the following operating systems: macOS 10.15.X (Catalina), Ubuntu 20.04, Windows 10 Professional, Enterprise or Education; version 2004.
Windows 10 Home is not sufficient as not all the software required for the program can be installed on that OS. Click here to download Windows 10 Education for free from UBC.
When installing Ubuntu, checking the box âInstall third partyâŠâ will (among other things) install proprietary drivers, which can be helpful for wifi and graphics cards.
can connect to networks via a wireless connection
has at least 50 GB disk space available
has at least 8 GB of RAM
uses a 64-bit CPU
is at most 6 years old at the start of the program (4 years old or newer is recommended)
uses English as the default language
Studentsâ whose laptops do not meet the requirements specified above will not be able to receive technical assistance from the MDS team in troubleshooting installation issues.
Table of Contents¶
Installation notes¶
If you have already installed Git, Latex, Make, or any of the R or Python related packages please uninstall these and follow the instructions below to reinstall them (make sure to also remove any user configuration files and backup them if desired). In order to be able to support you effectively and minimize setup issues and software conflicts, we require all students to install the software stack the same way.
In all the sections below, if you are presented with the choice to download either a 64-bit (also called x64) or a 32-bit (also called x86) version of the application always choose the 64-bit version.
Once you have completed these installation instructions, make sure to follow the post-installation notes at the end to check that all software is setup correctly.
UBC Student Email¶
Please sign up for a UBC Student Email. This account will also grant you access to a range of UBC services, including Microsoft Teams and OneDrive. To do so navigate to https://it.ubc.ca/services/email-voice-internet/ubc-student-email-service and follow the instructions under âGet Startedâ.
Web browser¶
In MDS we will be using many tools that work most reliably on Google Chrome and Firefox (including our online quiz software), so we recommend that you use one of these browsers.
To install Chrome, go to https://www.google.com/chrome/, click on âDownload Chromeâ and follow the instructions on the website to finish the installation.
To install Firefox, go to https://www.mozilla.org/en-US/firefox/new/, click on âDownload Firefoxâ and follow the instructions on the website to finish the installation.
Install Microsoft Office¶
UBC students have free access to a Microsoft Office 365 annual subscription, which is renewed for students enrolled in at least one course. Office 365 includes Word, Excel, PowerPoint, Outlook, and OneNote, and is available on a variety of platforms, including Windows, Mac, and Linux/Android.
To get your free Office 365 license and download the installer files, visit [UBC IT] (https://it.ubc.ca/services/desktop-print-services/software-licensing/office-365-students) and click Download Office 365
.
Note that you will need your CWL login credentials in order to download the software and activate your license.
Visual Studio Code¶
The open-source text editor Visual Studio Code (VS Code) is both a powerful text editor and a full-blown Python IDE, which we will use for more complex analysis. Go to https://code.visualstudio.com/download and download the windows version of VS Code. After the download has finished, run the installer and accept the default configuration for all pages except for the following:
Optional On the Select Additional Tasks page, check âCreate a desktop iconâ under âAdditional iconsâ.
Also on the Select Additional Tasks page check all four boxes under âOtherâ
âAdd âOpen with Codeâ action to Windows file context menuâ
âAdd âOpen with Codeâ action to Windows directory context menuâ
âRegister Code as an editor for supported file typesâ
âAdd to PATHâ (this should be selected by default).

VS Code extensions¶
The real magic of VS Code is in the extensions that let you add languages, debuggers, and tools to your installation to support your specific workflow. From within VS Code you can open up the Extension Marketplace to browse and install extensions by clicking on the Extensions icon in the Activity Bar indicated in the figure below.

To install an extension, you simply search for it in the search bar, click the extension you want, and then click âInstallâ. There are extensions available to make almost any workflow or task you are interested in more efficient! Here we are interested in setting up VS Code as a Python IDE. To do this, search for and install the following extensions:
Python (everything Python: notebooks, debugging, linting, formatting, etc.)
markdownlint (markdown linting and style checking extension)
GitLens (powerful extension that extends VS Codeâs native git capabilities)
(Optional) Bracket Pair Colorizer 2 (add colour to help distinguish your brackets: (), [], {})
This video tutorial is an excellent introduction to using VS Code in Python.
GitHub.com¶
In MDS we will use the publicly available GitHub.com. Please follow the set-up instructions for both below.
Sign up for a free account at GitHub.com if you donât have one already.
Configure Git on your computer¶
Although Git and Bash are two separate programs, we are including them in the same section here since they are packaged together in the same installer on Windows. Briefly, we will be using the Bash shell to interact with our computers via a command line interface, and Git to keep a version history of our files and upload to/download from to GitHub. We will be using the command line version of Git as well as Git through RStudio and JupyterLab. Some of the Git commands we will use are only available since Git 2.23, so if youâre Git is older than this version, we ask you to update it.
Go to https://git-scm.com/download/win and download the windows version of git. After the download has finished, run the installer and accept the default configuration for all pages except for the following:
Optional On the Select Components page, check âOn the Desktopâ under âAdditional iconsâ.
On the Choosing the default editor used by Git page, select âUse Visual Studio Code as Gitâs default editorâ from the drop-down menuâ

Note if you wish to pin Git Bash to the taskbar, you need to search for the program in the start menu, right click the entry and select âPin to taskbarâ. If you instead first launch the program and pin it by right clicking on the taskbar icon, Git Bash will open with the wrong home directory (
/
instead of/c/users/$USERNAME
.
After installation, test if you were successful by opening the Git Bash program. Below is a picture of the Git Bash icon on the Desktop and an opened instance of the Git Bash terminal (we will often refer to this as just âthe terminalâ):

In the terminal, type the following to check which version of Bash you just installed:
bash --version
The output should look similar to this:
GNU bash, version 4.4.23(1)-release (x86_64-pc-sys)
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
If you tried to paste the above into the Git Bash terminal, you will have noticed that
Ctrl+V
does not work in Git Bash. Instead you need to right click and select âPasteâ or use theShift+Insert
shortcut. To copy from the Git Bash terminal you simply select the text you want and it is copied automatically.
Via right click you can also reach the settings menu where you can configure Git Bash to your preferences, a couple of tips would be to check âMouse -> Clicks place command line cursorâ and change the font to something more legible, e.g. Consolas (âText -> Selectâ).
Letâs also check which version of git was installed:
git --version
git version 2.28.0.windows.1
You can launch many windows programs from the Bash terminal, e.g. to launch VS Code that we installed previously, you would type in code
, letâs use this to check the version of vscode that we installed:
code --version
1.47.3
91899dcef7b8110878ea59626991a18c8a6a1b3e
x64
Configuring Git user info¶
Next, we need to configure Git by telling it your name and email. To do this type the following into the terminal (replacing Jane Doe and janedoe@example.com, with your name and email (the same used to sign up for GitHub), respectively):
git config --global user.name "Jane Doe"
git config --global user.email janedoe@example.com
Note: to ensure that you havenât made a typo in any of the above, you can view your global Git configurations by either opening the configuration file in a text editor (e.g. via the command
code ~/.gitconfig
) or by typinggit config --list --global
.
Setting VS Code as the default editor¶
To make programs run from the terminal (such as git
) use VS Code by default, we will modify ~/.bash_profile
. First, open it using VS Code:
code ~/.bash_profile
Note: If you see any existing lines in your
~/.bash_profile
related to a previous Python or R installation, please remove these.
Append the following lines:
# Set the default editor for programs launch from terminal
EDITOR="code --wait"
VISUAL=$EDITOR # Use the same value as for "EDITOR" in the line above
Then save the file and exit VS Code.
Most terminal programs will read the
EDITOR
environmental variable when determining which editor to use, but some readVISUAL
, so weâre setting both to the same value.
Python, Conda, and JupyterLab¶
Python and Conda¶
We will be using Python for a large part of the program, and conda
as our Python package manager. To install Python and the conda
package manager, we will use the Miniconda platform (read more here), for which the Python 3.8 64-bit version can be downloaded here. After the download has finished, run the installer and accept the default configuration for all pages.
Do not add miniconda to PATH. We will set this up later.
After installation, open the Start Menu and search for the program called âAnaconda Prompt (miniconda3)â. When this opens you will see a prompt similar to (base) C:\Users\your_name
. Type the following to check that your Python installation is working:
python --version
which should return something like this:
Python 3.8.3
If instead you see
Python 2.7.X
you installed the wrong version. Follow these instructions to delete this installation and try the installation again, selecting Python 3.8.
Integrating Python with the Git Bash terminal¶
To avoid having to open the separate Anaconda Prompt every time we want to use Python, we can make it available from the (Git Bash) terminal, which is what we will be using most of the time. To set this up, open the âAnaconda Prompt (miniconda3)â again and type:
conda init bash
You will see that this modified a few configuration files, which makes conda
visible to the terminal. Close all open terminal windows and launch a new one, you should now see that the prompt string has changed to include the word (base)
as in the screenshot below:

If you type
python --version
you should now see the same output as above:
Python 3.8.3
Note that if you want to run Python interactively from the Git Bash terminal, you need to prepend the
winpty
command, so the full command would bewinpty python
(if you run this, note that you can exit the Python prompt by typingexit()
). Running justpython
works on other setups, but will freeze the Git Bash terminal.
Letâs also check the version of the conda
package manager. If you type
conda --version
you should see something like this
conda 4.8.3
Optional One annoyance with our current terminal setup is that the word
(base)
is not on the same row as the rest of the prompt string (the part withyour_name@your_computer
. To fix this we can edit the.bash_profile
configuration file to indicate that we do not want a newline at the beginning of the prompt string. Open up the configuration file using VS Code by typing the following command into a terminal:code "/c/Program Files/Git/etc/profile.d/git-prompt.sh"Delete the line that reads the following (it should be line 13):
PS1="$PS1"'\n' # new lineClick to save the file, when VS Code prompts you that the saving failed, click âRetry as Adminâ and then âYesâ. Thatâs it! Now if you launch a new terminal instance, you will see
(base)
on the same line as the rest of the prompt string as in the screenshot below.![]()
Essential Python packages¶
conda
installs Python packages from different online repositories which are called âchannelsâ.
A package needs to go through thorough testing before it is included in the default channel,
which is good for stability,
but also means that new versions will be delayed and fewer packages are available overall.
There is a community-driven effort called the conda-forge (read more here),
which provides more up to date packages
To enable us to access the most up to date version of the Python packages we are going to use,
we will add the more up to date channel,
To add the conda-forge channel by typing the following in the terminal:
conda config --add channels conda-forge
To install packages individually, we can now use the following command: conda install <package-name>
. Letâs install the key packages needed for the start of the MDS program:
conda install \
"jupyterlab=2.*" \
"numpy=1.*" \
"pandas=1.*" \
"flake8=3.*" \
"black=19.*"
"nbconvert=6.*"
conda
will show you the packages that will be downloaded,
and you can press enter to proceed with the installation.
If you want to answer yes
by default and skip this confirmation step,
you can replace conda install
with conda install -y
.
Test Jupyter Lab setup¶
To test that your JupyterLab installation is functional, you can type jupyter lab
into a terminal, which should open a new tab in your default browser with the JupyterLab interface.
To exit out of JupyterLab you can click File -> Shutdown
,
or go to the terminal from which you launched JupyterLab and hold Ctrl
while pressing c
twice.
Youâre all done!!