Concepts covered:
- Advanced Python environment operations
- Python environment initialization and configuration
- Environment diagnostics and troubleshooting
- Hatch MCP server wrapper management
Skills you will practice:
- Initializing Python environments in existing Hatch environments
- Viewing detailed Python environment information
- Managing the hatch_mcp_server wrapper
- Launching Python shells within environments
This article covers advanced Python environment management within Hatch environments.
Add a Python environment to an existing Hatch environment:
# Initialize in current environment
hatch env python init --python-version 3.11
# Initialize in specific environment
hatch env python init --hatch_env my_env --python-version 3.12 --force--hatch_env- Target Hatch environment (defaults to current)--python-version- Python version (e.g., 3.11, 3.12)--force- Force recreation if Python environment exists--no-hatch-mcp-server- Skip hatch_mcp_server wrapper installation--hatch_mcp_server_tag- Git tag/branch for wrapper (e.g., 'dev', 'v0.1.0')
Get detailed information about a Python environment:
# Basic info for current environment
hatch env python info
# Detailed info for specific environment
hatch env python info --hatch_env my_env --detailedExample output:
Python environment info for 'my_env':
Status: Active
Python executable: /path/to/conda/envs/my_env/bin/python
Python version: 3.11.9
Conda environment: my_env
Environment path: /path/to/conda/envs/my_env
Created: 2025-08-24T10:30:00
Package count: 25
Packages:
- fastmcp (1.0.0)
- mcp (1.0.0)
- hatch-mcp-server (0.1.0)
Diagnostics:
conda_available: true
mamba_available: true
environment_exists: true
python_executable_valid: true
The hatch_mcp_server wrapper provides integration between Hatch packages and MCP servers.
Add the wrapper to an environment:
hatch env python add-hatch-mcp --hatch_env my_env --tag v0.1.0The wrapper is typically installed automatically when creating Python environments, but you can add it manually or update to specific versions.
Access the Python environment directly:
# Interactive shell
hatch env python shell --hatch_env my_env
# Run specific command
hatch env python shell --hatch_env my_env --cmd "import sys; print(sys.version)"Remove only the Python environment while keeping the Hatch environment:
# With confirmation prompt
hatch env python remove --hatch_env my_env
# Force removal without prompt
hatch env python remove --hatch_env my_env --forceThis allows you to remove Python dependencies without affecting Hatch package installations.
Use the --detailed flag to diagnose issues:
hatch env python info --detailedCommon diagnostic information includes:
- conda_available - Whether conda is installed and accessible
- manager_executable - The path to conda/mamba executable that will be used
- environment_path - The path to the conda environment
- python_executable - The path to the Python executable used to run the MCP servers in the Hatch! packages.
Exercise:
- Create a Hatch environment without Python, then add Python support afterwards. View the detailed information before and after Python initialization.
- Remove the Python environment and verify it's cleanly removed while keeping the Hatch environment intact.
- Remove the Hatch environment and verify it's cleanly removed.
Solution
# Create environment without Python
hatch env create test_python --no-python --description "Test Python addition"
# Check info (should show no Python)
hatch env python info --hatch_env test_python --detailed
# Add Python environment
hatch env python init --hatch_env test_python --python-version 3.11
# Check info again (should show Python details)
hatch env python info --hatch_env test_python --detailed
# Remove Python environment
hatch env python remove --hatch_env test_python --force
# Check info (should show no Python again)
hatch env python info --hatch_env test_python --detailed
# Remove Hatch environment
hatch env remove test_python
# Verify removal
hatch env listPrevious: Manage Environments Next: Checkpoint