| name | managing-python-dependencies |
| description | Ensures proper Python dependency management, avoiding global `pip install` and
adhering to project-specific tooling.
Use this skill if any of the following are true:
1. Attempting to run `pip install {package_name}`.
2. Python packages or dependencies need to be added or modified.
3. Initiating a new Python project.
4. Creating a new notebook, even if just using BigQuery cells.
5. Generating Python code that includes `import` statements for third-party libraries.
6. Before executing Python scripts via the terminal to ensure the correct virtual environment is active.
|
| license | Apache-2.0 |
| metadata | {"version":"v1","publisher":"google"} |
Python Dependency Management Rule
[!CAUTION] BEFORE any pip install: You MUST first detect the project's
existing dependency manager and use it correctly. Do NOT override the
project's established tooling.
Dependency Manager Detection
Before installing ANY Python package, check the workspace for these files in
priority order:
- Signal:
uv.lock or pyproject.toml with [tool.uv]
- Tool: uv
- Install:
uv add <package>
- Setup:
uv sync
- Signal:
pyproject.toml with [tool.poetry]
- Tool: Poetry
- Install:
poetry add <package>
- Setup:
poetry install
- Signal:
Pipfile
- Tool: Pipenv
- Install:
pipenv install <package>
- Setup:
pipenv install
- Signal:
environment.yml
- Tool: Conda
- Install:
conda install <package>
- Setup:
conda env create -f environment.yml
- Signal:
requirements.txt only
- Tool: venv + pip
- Install:
.venv/bin/pip install <package>
- Setup:
.venv/bin/pip install -r requirements.txt
- Signal: None of the above
- Tool: venv + pip (default)
- Install:
.venv/bin/pip install <package>
- Setup:
.venv/bin/pip install -r requirements.txt
Default: venv + pip
If no dependency manager is detected, use venv + pip + requirements.txt as
the default:
python3 -m venv .venv
.venv/bin/pip install <package>
.venv/bin/pip freeze > requirements.txt
Rules for venv + pip workflow:
- Always use
.venv/bin/pip or .venv/bin/python (explicit path).
- After installing, run:
.venv/bin/pip freeze > requirements.txt.
- When setting up:
.venv/bin/pip install -r requirements.txt.
Prohibited
- NEVER run
pip install globally
- NEVER override an existing dependency manager with a different one