{"slug": "ceu-accounts-and-python-environment-setup", "title": "CEU Accounts and Python Environment Setup", "summary": "CEU's Department of Economics and Business has published a setup guide requiring students to install Python environment tool uv, Git, and Visual Studio Code, and to create a GitHub account with two-factor authentication before courses begin. The guide instructs students to avoid pip, conda, or Anaconda, and to use uv for project-specific package management. It also directs students to apply for the GitHub Student Developer Pack once they have their CEU ID.", "body_md": "Welcome. Before teaching starts you need a working Python setup and additional software installed on your own laptop. This page walks you through it.\n\n**Do this before the setup session.** Work through it on your own, and test\nit. Whatever is still broken, We will help you fix during that session.\n\n**Time needed:** about 45–60 minutes, most of it waiting for downloads.\n\n**If you get stuck:** try to resolve it with AI first. If that does not work, write to\nUlrich Wohak [WohakU@ceu.edu](mailto:WohakU@ceu.edu) and you will get help during the session.\n\n**Any operating system is fine.** Windows, macOS, and Linux are all fully supported.\n\nYou are installing four things and creating one account.\n\nThe 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.\n\nIf you are not familiar wirt the Terminal application, go through these Youtube videos first:\n\n- Windows: [https://www.youtube.com/watch?v=4Gpls24j5Gw](https://www.youtube.com/watch?v=4Gpls24j5Gw)\n- Mac: [https://www.youtube.com/watch?v=5XgBd6rjuDQ](https://www.youtube.com/watch?v=5XgBd6rjuDQ)\n\nIn this doc you will see instructions like this:\n\n```\nuv --version\n```\n\nThat means: type (or paste) it into the terminal, press Enter, and read what comes back.\n\n[`uv`](https://docs.astral.sh/uv/) is the tool that installs Python and every package a\ncourse needs, at the exact versions that course was built against. It is the only tool you\nneed for this.\n\n**Do not use `pip`, `conda`, or Anaconda for these courses.**\n`uv` gives each project its own private set of packages, so they cannot collide.\n\nPython is the language you will write in. **You do not install Python yourself.** `uv`\ndownloads the correct version per project.\n\nGit 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.\n\nGitHub is a website that hosts Git projects. Course materials live there, and you will hand\nin some assignments through it. Git and GitHub are related but not the same: **Git** is the\nprogram on your computer, **GitHub** is the website your computer talks to.\n\nA **repository** (or *repo*) is one project's folder on GitHub. **Cloning** a repo means\ndownloading your own copy of it.\n\n[Visual Studio Code](https://code.visualstudio.com/) is the editor you will write and run\ncode in. It also opens *notebooks* — documents that mix code, results, and text — which is\nthe format most course materials use.\n\nYou need one account:\n\n1. **Sign up** at[github.com/signup](https://github.com/signup) . Pick a username you are\nhappy for an instructor to see.\nIf you already have a GitHub Account, feel free to use that one; no signup needed in this case\n2. **Add your CEU email** as a second address, at[Settings → Emails](https://github.com/settings/emails) , and verify it. This is what links\nyour account to the university.\n3. **Turn on two-factor authentication** at[Settings → Password and authentication](https://github.com/settings/security) . GitHub\nrequires it.**Save the recovery codes somewhere safe** — students lock themselves out of\ntheir account mid-term every year, and recovery codes are the way back in.\n4. **Apply for the Student Developer Pack** at[education.github.com/pack](https://education.github.com/pack)*as soon as you have your\nCEU ID in hand* . It is free and gives you paid tooling for the duration of your studies.\nThis step can wait until you have the ID; nothing else depends on it.\n\nWork down Part 2 and tick these off along the way:\n\n-  `uv` installed —`uv --version` (in the terminal) prints a version number\n-  Git installed — `git --version` (in the terminal) prints a version number\n- VS Code installed and opens\n- VS Code Python extension installed\n- VS Code Jupyter extension installed\n- GitHub account created\n- CEU email added and verified on the account\n- Two-factor authentication on, recovery codes saved\n- Course repos cloned and synced (Part 3)\n-  The check prints `SETUP OK` in all five folders (Part 3)\n-  Student Developer Pack applied for — *once you have your CEU ID*\n\nFollow **only** the section for your own system, then continue to \"Both extensions\" at the\nend of this part.\n\n**Open PowerShell.** Press the Start button, type `PowerShell`, and open **Windows\nPowerShell**.\n\n**1. Install uv**\n\n```\npowershell -ExecutionPolicy ByPass -c \"irm https://astral.sh/uv/install.ps1 | iex\"\n```\n\n**Close PowerShell and open it again** — this is required, the command will not be found\nuntil you do. Then check:\n\n```\nuv --version\n```\n\n**2. Install Git**\n\n```\nwinget install --id Git.Git -e --source winget\n```\n\nIf `winget` is not available, download the installer from\n[git-scm.com/downloads](https://git-scm.com/downloads) and accept the default options.\nClose and reopen PowerShell, then check:\n\n```\ngit --version\n```\n\n**3. Install VS Code**\n\n```\nwinget install --id Microsoft.VisualStudioCode -e --source winget\n```\n\nOr download it from [code.visualstudio.com](https://code.visualstudio.com/Download).\n\n**Open Terminal.** Press `Cmd + Space`, type `Terminal`, press Enter.\n\n**1. Install uv**\n\n```\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n```\n\n**Close Terminal and open it again**, then check:\n\n```\nuv --version\n```\n\n**2. Install Git**\n\nmacOS ships with Git, but the first run may prompt you to install Apple's developer tools. Run:\n\n```\ngit --version\n```\n\nIf 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.\n\n**3. Install VS Code**\n\nDownload from [code.visualstudio.com](https://code.visualstudio.com/Download), unzip it, and\ndrag **Visual Studio Code** into your **Applications** folder.\n\n**1. Install uv**\n\n```\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n```\n\nClose and reopen the terminal, then check:\n\n```\nuv --version\n```\n\n**2. Install Git**\n\n```\nsudo apt-get update\nsudo apt-get install -y git\ngit --version\n```\n\n**3. Install VS Code**\n\nDownload the `.deb` package from\n[code.visualstudio.com](https://code.visualstudio.com/Download) and install it, or use your\ndistribution's software centre.\n\nOpen VS Code. Click the **Extensions** icon in the left sidebar (four small squares), then\nsearch for and install:\n\n- **Python** (published by Microsoft)\n- **Jupyter** (published by Microsoft)\n\nBoth are needed to run course notebooks.\n\nCloning 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.\n\nPick one place to keep all course materials.\n\n**macOS / Linux:**\n\n```\nmkdir -p ~/ceu\ncd ~/ceu\n```\n\n**Windows PowerShell:**\n\n```\nmkdir $HOME\\ceu\ncd $HOME\\ceu\n```\n\n| Course | Clone command | \n|---|---|\n| Coding 1 | `git clone https://github.com/ulrichwohak/Coding-1-Introduction-to-Python.git` | \n| Coding 2 | `git clone https://github.com/ulrichwohak/Coding-2-Python-for-Data-Analysis.git` | \n| Data Analysis 1 and 2 | `git clone https://github.com/gabors-data-analysis/da_case_studies.git` | \n| Data Visualization 1 | `git clone https://github.com/ulrichwohak/Python-Dataviz.git` | \n| Data Engineering 1 | `git clone https://github.com/zoltanctoth/ceu-cloud-class.git` | \n\nFrom inside your `ceu` folder, run the clone command for a course, then move into the folder\nit created and set up the environment:\n\n```\ngit clone https://github.com/ulrichwohak/Coding-1-Introduction-to-Python.git\ncd Coding-1-Introduction-to-Python\nuv sync\ncd ..\n```\n\n`git clone` downloads the materials. `uv sync` reads that project's lock file and installs\nthe exact Python version and packages it needs — the first run takes a few minutes, later\nones are fast. `cd ..` returns you to the `ceu` folder, ready for the next course.\n\nRepeat for all five rows.\n\nStraight after `uv sync` finishes in a folder, run this:\n\n``` python\nuv run python -c \"import sys; from importlib.metadata import distributions; print('Python', sys.version.split()[0]); print('Packages', len(list(distributions()))); print('SETUP OK')\"\n```\n\nYou should get three lines. In the Coding 1 folder they look like this:\n\n```\nPython 3.12.13\nPackages 124\nSETUP OK\n```\n\nThe Python version and the package count are **different for each course**, and that is\nexactly right: each course gets its own Python and its own packages, which is the whole\nreason we use `uv`. Do not worry about the numbers — what matters is the last line.\n\n**If you see `SETUP OK` in all five folders, your setup works. You are done.**\n\nIf a folder gives an error instead, note which folder and what the error says, and bring that to the setup session.\n\n**`uv: command not found` or `'uv' is not recognized`**\nYou did not close and reopen the terminal after installing. Do that first — it fixes this\nalmost every time. If it persists, restart your computer.\n\n**`git: command not found`**\nSame cause, same fix: reopen the terminal.\n\n**`uv sync` fails on one repo but works on others**\nThat repo has a problem, not your machine. Note which one, and move on.\n\n**Permission denied when installing on Windows**\nRight-click PowerShell and choose **Run as administrator**, then try again.\n\n1. Try to resolve it with AI.\n2. Still stuck? Write to Ulrich Wohak [WohakU@ceu.edu](mailto:WohakU@ceu.edu) .\n3. Bring it to the setup session - that is what it is for.\n\nCome to the session having tried with a specific error message, if any.", "url": "https://wpnews.pro/news/ceu-accounts-and-python-environment-setup", "canonical_source": "https://gist.github.com/zoltanctoth/967a67dc374ff433bba7ef146be34089", "published_at": "2026-08-28 12:51:51+00:00", "updated_at": "2026-09-08 16:29:24.890827+00:00", "lang": "en", "topics": ["developer-tools"], "entities": ["CEU", "GitHub", "Visual Studio Code", "uv", "Git", "Ulrich Wohak"], "alternates": {"html": "https://wpnews.pro/news/ceu-accounts-and-python-environment-setup", "markdown": "https://wpnews.pro/news/ceu-accounts-and-python-environment-setup.md", "text": "https://wpnews.pro/news/ceu-accounts-and-python-environment-setup.txt", "jsonld": "https://wpnews.pro/news/ceu-accounts-and-python-environment-setup.jsonld"}}