Setări profesionale pentru medii Python: stăpânești virtualenvs și packaging în 4 ore concentrate.
Hands-on cu venv, pip, pipx și poetry.
Structurezi medii reproductibile și gestionezi eficient dependențele.
Dobândești experiență practică configurând și depanând proiecte reale.
Cum te ajută: asiguri build-uri fiabile și colaborare fluidă.
Cui i se adresează: conceput pentru persoane cu baze Python care au nevoie de skill-uri profesionale de setup.
Include opțional packaging avansat și unelte de publicare.
Curriculum
Baza profesională & tooling
- Obiective: izolare, reproductibilitate, portabilitate
- Instalări Python: system Python vs. pyenv vs. Anaconda (când folosim fiecare)
- Schelet de proiect: src layout, `.gitignore`, `.python-version`, `.env`, README badges
- Pinning & locking: `requirements.in`→`requirements.txt` (pip-tools) și `conda env export`
Windows — Anaconda/conda și pip
- Instalare & update Anaconda/Miniconda; `conda init` pentru PowerShell
- Creare/activare env: `conda create -n app python=3.11`, `conda activate app`
- Combinarea în siguranță a `conda` cu `pip`; channels; bune practici `conda-forge`
- Alternativă: `pip` pur + `python -m venv venv`; execution policy în PowerShell
- Hands-on: creare env, freeze, export, re-creare din lock
Linux — venv și virtualenvwrapper (`workon`)
- Pachete sistem necesare (`python3-venv`, tooluri de build)
- Creare/activare cu `python -m venv .venv`; `source .venv/bin/activate`
- virtualenvwrapper: instalare & configurare; `mkvirtualenv`, `workon`, `setvirtualenvproject`
- Baze pentru pip index/auth; `pip config` pentru mirrors/certificate
- Hands-on: setup workflow `workon` și `.venv` per-proiect
macOS — Homebrew/conda și venv
- Instalare prin Homebrew: `brew install python` și opțional `pyenv`
- Creare/activare venv în zsh; fix pentru PATH și SSL uzuale
- Conda pe macOS: note pentru Apple Silicon (arm64), `conda-forge`
- Hands-on: un proiect cu venv, unul cu conda; comutare în siguranță
Build & publish un wheel (pyproject.toml)
- `pyproject.toml` minim cu `build-system` și metadata (PEP 621)
- Instalări editabile: `pip install -e .` vs. instalări din wheel
- Build: `python -m build` → `dist/*.whl`
- Instalare locală: `pip install dist/yourpkg-*.whl`
- Upload cu `twine` pe TestPyPI sau pe un index privat (Nexus/Artifactory)
Module opționale
Opțional — CI și workflow de echipă
- pre-commit linters/formatters (ruff/black) într-un env curat
- Cache dependențe în CI; `pip --require-hashes` vs. `conda-lock`
- Indexuri private: `--extra-index-url`, tokens și trust settings
Structura zilei de curs
- Welcome + goals (micro): 09:00–09:10
- Part 1: 09:10–10:20
- Break: 10:20–10:30
- Part 2: 10:30–11:40
- Break: 11:40–11:50
- Part 3: 11:50–13:00