Edocti
Advanced Technical Training for the Software Engineer of Tomorrow
Edocti Training

Professional Python Environments — Micro Training (4h)

Intermediate
3 h
4.7 (120 reviews)
Professional Python Environments — Micro Training (4h)

Python environments pro setup: master virtualenvs and packaging in 4 focused hours.

Hands-on practice with venv, pip, pipx and poetry.

Structure reproducible environments and manage dependencies effectively.

Gain practical experience by setting up and troubleshooting real projects.

How this helps: ensure reliable builds and smooth collaboration.

Who it’s for: designed for individuals with Python basics needing professional setup skills.

Includes optional coverage of advanced packaging and publishing tools.

Curriculum

Professional baseline & tooling
  • Goals: isolation, reproducibility, portability
  • Python installations: system Python vs. pyenv vs. Anaconda (when to use what)
  • Project scaffold: src layout, `.gitignore`, `.python-version`, `.env`, README badges
  • Pinning & locking: `requirements.in`→`requirements.txt` (pip-tools) and `conda env export`
Windows — Anaconda/conda and pip
  • Install & update Anaconda/Miniconda; `conda init` for PowerShell
  • Create/activate envs: `conda create -n app python=3.11`, `conda activate app`
  • Mixing `conda` and `pip` safely; channels; `conda-forge` best practices
  • Alternative: pure `pip` + `python -m venv venv`; PowerShell execution policy
  • Hands-on: create env, freeze, export, re-create from lock
Linux — venv and virtualenvwrapper (`workon`)
  • System packages needed (`python3-venv`, build tools)
  • Create/activate with `python -m venv .venv`; `source .venv/bin/activate`
  • virtualenvwrapper: install & configure; `mkvirtualenv`, `workon`, `setvirtualenvproject`
  • Pip index/auth basics; `pip config` for mirrors/certificates
  • Hands-on: set up `workon` workflow and a per-project `.venv`
macOS — Homebrew/conda and venv
  • Install via Homebrew: `brew install python` and optional `pyenv`
  • Create/activate venv in zsh; fix common PATH and SSL issues
  • Conda on macOS: Apple Silicon notes (arm64), `conda-forge`
  • Hands-on: one project with venv, one with conda; switching safely
Build & publish a wheel (pyproject.toml)
  • Minimal `pyproject.toml` with `build-system` and metadata (PEP 621)
  • Editable installs: `pip install -e .` vs. wheel installs
  • Build: `python -m build` → `dist/*.whl`
  • Local install: `pip install dist/yourpkg-*.whl`
  • Upload with `twine` to TestPyPI or a private index (Nexus/Artifactory)

Optional modules

Optional — CI and team workflow
  • Pre-commit linters/formatters (ruff/black) in a clean env
  • Caching dependencies in CI; `pip --require-hashes` vs. `conda-lock`
  • Private indexes: `--extra-index-url`, tokens and trust settings

Course Day Structure

  • 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