python-venv

Python environment management skill. Automatically detect project type and existing environments, recommend based on popularity. Minimize interruptions, only ask when necessary.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "python-venv" with this command: npx skills add cikichen/skills/cikichen-skills-python-venv

Python Environment Management Skill

Core Principles

  1. Reuse Existing Environments - Don't recreate, reuse existing virtual environments
  2. Use Project-Type Decision - Auto-select based on lock files
  3. Recommend by Popularity - uv > pip > conda > venv
  4. Minimize Interruption - Only ask when necessary

Tool Popularity Ranking

PriorityToolBest For
🥇uvNew projects, fast installs
🥈pipCompatibility first
🥉condaData science, specific versions
4venvBuilt-in, no extra install
5poetryExisting poetry.lock
6pipenvExisting Pipfile (declining)

Decision Flow

┌─────────────────────────────────────┐
│  Detect project dependency files     │
└─────────────────────────────────────┘
              ↓
    ┌─────────┴─────────┐
    ↓                   ↓
  Clear decision       Unclear
    ↓                   ↓
  Use directly     Detect existing env
                        ↓
                  ┌─────┴─────┐
                  ↓           ↓
              Has env        No env
                  ↓           ↓
              Reuse      Assess complexity
                            ↓
                  ┌─────────┴─────────┐
                  ↓                   ↓
              Simple task       Needs deps
                  ↓                   ↓
            System Python      Recommend uv/conda

1. Clear Decisions (Execute Directly, No Ask)

When these files are detected, use the corresponding tool directly:

Detected FileExecute
uv.lock existsuv sync or uv pip install -r requirements.txt
poetry.lock existspoetry install
environment.yml existsconda env create -f environment.yml
Pipfile.lock existspipenv install

2. Detect Existing Environments (Reuse First)

# Priority: uv venv > conda > venv

# 2.1 Detect uv virtual environment
ls -la .venv/ 2>/dev/null && uv pip list 2>/dev/null | head -3

# 2.2 Detect conda environment
conda info --envs 2>/dev/null | grep "*" || echo $CONDA_PREFIX

# 2.3 Detect standard venv
ls -la venv/ .venv/ env/ 2>/dev/null

# 2.4 If exists → Reuse (activate and run commands)

Reuse Example:

Detected existing .venv/ directory
→ Activate: source .venv/bin/activate
→ Run: uv pip install <package>

3. When Unclear (Assess Complexity)

ScenarioAction
Stdlib only, no 3rd partySystem Python (python3)
Simple pip install testSystem Python (temp)
Has requirements.txtRecommend uv > pip > venv
Has pyproject.tomlRecommend uv > pip
Multi-file project, needs isolationRecommend uv

4. When to Ask User (Only These Cases)

Ask:

  1. Empty project + first dependency install → Ask which tool
  2. Both requirements.txt + pyproject.toml → Ask which to use
  3. User explicitly wants different tool → e.g., "I want conda"

Don't Ask:

  • Has uv.lock but user didn't specify
  • Has .venv/ directory
  • Regular pip install task

5. Recommended Tool (No Clear Directive)

First: uv
  ├── uv venv (create)
  ├── uv pip install (install)
  └── uv sync (sync)

Backup: pip
  ├── python3 -m venv .venv
  └── pip install

Special: conda
  ├── conda create -n envname python=x.x
  └── conda env create

Detection Commands

# Check available tools
which uv
which conda
which pip
which python3

# Check project files
ls -la *.lock pyproject.toml requirements.txt environment.yml Pipfile 2>/dev/null

# Check existing environments
ls -la .venv/ venv/ env/ 2>/dev/null
conda info --envs 2>/dev/null

# Check current environment
echo $VIRTUAL_ENV
echo $CONDA_PREFIX

Interaction Examples (Only When Needed)

🔍 Detection result:
- Project file: pyproject.toml
- Existing env: None
- Recommended: uv (fastest)

Running: uv pip install <package>
🔍 Detection result:
- Project file: requirements.txt
- Existing env: None
- Recommended: uv

Available options:
1) uv (recommended) - faster
2) pip - better compatibility
3) venv - uses stdlib
4) conda - if specific version needed

Enter option or press Enter to use recommended:

Quick Command Reference

Actionuvpipcondavenv
Create envuv venv-conda createpython3 -m venv
Install pkguv pip installpip installconda installpip install
Install depsuv syncpip install -rconda env createpip install -r
Activate(auto)(auto)conda activatesource venv/bin/activate

Core Principle

"Do more, ask less" - Execute directly when you can determine, only ask when truly unclear.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

python-venv

No summary provided by upstream source.

Repository SourceNeeds Review
General

bazi

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

structured-workflow

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

Self Updater

⭐ OPEN SOURCE! GitHub: github.com/GhostDragon124/openclaw-self-updater ⭐ ONLY skill with Cron-aware + Idle detection! Auto-updates OpenClaw core & skills, an...

Registry SourceRecently Updated
1171Profile unavailable