Welcome. Before teaching starts you need a working Python setup and additional software installed on your own laptop. This page walks you through it.
Do this before the setup session. Work through it on your own, and test it. Whatever is still broken, We will help you fix during that session.
Time needed: about 45β60 minutes, most of it waiting for downloads.
If you get stuck: try to resolve it with AI first. If that does not work, write to Ulrich Wohak WohakU@ceu.edu and you will get help during the session.
Any operating system is fine. Windows, macOS, and Linux are all fully supported.
You are installing four things and creating one account.
The terminal (also called the command line, Terminal, or PowerShell) is a window where you type commands instead of clicking buttons. Most of this page consists of commands you copy and paste into it. It is already on your computer β you do not install it.
If you are not familiar wirt the Terminal application, go through these Youtube videos first:
- Windows: https://www.youtube.com/watch?v=4Gpls24j5Gw
- Mac: https://www.youtube.com/watch?v=5XgBd6rjuDQ
In this doc you will see instructions like this:
uv --version
That means: type (or paste) it into the terminal, press Enter, and read what comes back.
uv is the tool that installs Python and every package a
course needs, at the exact versions that course was built against. It is the only tool you
need for this.
Do not use pip, conda, or Anaconda for these courses.
uv gives each project its own private set of packages, so they cannot collide.
Python is the language you will write in. You do not install Python yourself. uv
downloads the correct version per project.
Git records the history of a project: every change, who made it, and when. It runs locally on your laptop and lets you copy a project down from the internet, which is how you will get every course's materials.
GitHub is a website that hosts Git projects. Course materials live there, and you will hand in some assignments through it. Git and GitHub are related but not the same: Git is the program on your computer, GitHub is the website your computer talks to.
A repository (or repo) is one project's folder on GitHub. Cloning a repo means down your own copy of it.
Visual Studio Code is the editor you will write and run code in. It also opens notebooks β documents that mix code, results, and text β which is the format most course materials use.
You need one account:
- Sign up atgithub.com/signup . Pick a username you are happy for an instructor to see. If you already have a GitHub Account, feel free to use that one; no signup needed in this case
- Add your CEU email as a second address, atSettings β Emails , and verify it. This is what links your account to the university.
- Turn on two-factor authentication atSettings β Password and authentication . GitHub requires it.Save the recovery codes somewhere safe β students lock themselves out of their account mid-term every year, and recovery codes are the way back in.
- Apply for the Student Developer Pack ateducation.github.com/packas soon as you have your CEU ID in hand . It is free and gives you paid tooling for the duration of your studies. This step can wait until you have the ID; nothing else depends on it.
Work down Part 2 and tick these off along the way:
uvinstalled βuv --version(in the terminal) prints a version number- Git installed β
git --version(in the terminal) prints a version number - VS Code installed and opens
- VS Code Python extension installed
- VS Code Jupyter extension installed
- GitHub account created
- CEU email added and verified on the account
- Two-factor authentication on, recovery codes saved
- Course repos cloned and synced (Part 3)
- The check prints
SETUP OKin all five folders (Part 3) - Student Developer Pack applied for β once you have your CEU ID
Follow only the section for your own system, then continue to "Both extensions" at the end of this part.
Open PowerShell. Press the Start button, type PowerShell, and open Windows
PowerShell.
1. Install uv
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Close PowerShell and open it again β this is required, the command will not be found until you do. Then check:
uv --version
2. Install Git
winget install --id Git.Git -e --source winget
If winget is not available, download the installer from
git-scm.com/downloads and accept the default options.
Close and reopen PowerShell, then check:
git --version
3. Install VS Code
winget install --id Microsoft.VisualStudioCode -e --source winget
Or download it from code.visualstudio.com.
Open Terminal. Press Cmd + Space, type Terminal, press Enter.
1. Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
Close Terminal and open it again, then check:
uv --version
2. Install Git
macOS ships with Git, but the first run may prompt you to install Apple's developer tools. Run:
git --version
If a dialog appears offering to install the command line developer tools, accept it and wait for it to finish. If nothing happens and you see a version number, Git is already there.
3. Install VS Code
Download from code.visualstudio.com, unzip it, and drag Visual Studio Code into your Applications folder.
1. Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
Close and reopen the terminal, then check:
uv --version
2. Install Git
sudo apt-get update
sudo apt-get install -y git
git --version
3. Install VS Code
Download the .deb package from
code.visualstudio.com and install it, or use your
distribution's software centre.
Open VS Code. Click the Extensions icon in the left sidebar (four small squares), then search for and install:
- Python (published by Microsoft)
- Jupyter (published by Microsoft)
Both are needed to run course notebooks.
Cloning every course repo now is the real test. It is also the point of doing this early: if something is going to fail, it fails here, in front of someone who can fix it, rather than in week one.
Pick one place to keep all course materials.
macOS / Linux:
mkdir -p ~/ceu
cd ~/ceu
Windows PowerShell:
mkdir $HOME\ceu
cd $HOME\ceu
| Course | Clone command |
|---|---|
| Coding 1 | git clone https://github.com/ulrichwohak/Coding-1-Introduction-to-Python.git |
| Coding 2 | git clone https://github.com/ulrichwohak/Coding-2-Python-for-Data-Analysis.git |
| Data Analysis 1 and 2 | git clone https://github.com/gabors-data-analysis/da_case_studies.git |
| Data Visualization 1 | git clone https://github.com/ulrichwohak/Python-Dataviz.git |
| Data Engineering 1 | git clone https://github.com/zoltanctoth/ceu-cloud-class.git |
From inside your ceu folder, run the clone command for a course, then move into the folder
it created and set up the environment:
git clone https://github.com/ulrichwohak/Coding-1-Introduction-to-Python.git
cd Coding-1-Introduction-to-Python
uv sync
cd ..
git clone downloads the materials. uv sync reads that project's lock file and installs
the exact Python version and packages it needs β the first run takes a few minutes, later
ones are fast. cd .. returns you to the ceu folder, ready for the next course.
Repeat for all five rows.
Straight after uv sync finishes in a folder, run this:
uv run python -c "import sys; from importlib.metadata import distributions; print('Python', sys.version.split()[0]); print('Packages', len(list(distributions()))); print('SETUP OK')"
You should get three lines. In the Coding 1 folder they look like this:
Python 3.12.13
Packages 124
SETUP OK
The Python version and the package count are different for each course, and that is
exactly right: each course gets its own Python and its own packages, which is the whole
reason we use uv. Do not worry about the numbers β what matters is the last line.
If you see SETUP OK in all five folders, your setup works. You are done.
If a folder gives an error instead, note which folder and what the error says, and bring that to the setup session.
uv: command not found or 'uv' is not recognized
You did not close and reopen the terminal after installing. Do that first β it fixes this
almost every time. If it persists, restart your computer.
git: command not found
Same cause, same fix: reopen the terminal.
uv sync fails on one repo but works on others
That repo has a problem, not your machine. Note which one, and move on.
Permission denied when installing on Windows Right-click PowerShell and choose Run as administrator, then try again.
- Try to resolve it with AI.
- Still stuck? Write to Ulrich Wohak WohakU@ceu.edu .
- Bring it to the setup session - that is what it is for.
Come to the session having tried with a specific error message, if any.