Skip to content

Chapter 11: pip and Third-Party Libraries

Basic pip Operations

bash
# Install packages
pip install requests
pip install flask==3.0.0      # Specify version
pip install "requests>=2.28"  # Version range

# Upgrade packages
pip install --upgrade requests

# Uninstall packages
pip uninstall requests

# View installed packages
pip list

# View package info
pip show requests

# Search for packages
pip search http    # Note: PyPI may have disabled this feature

requirements.txt

bash
# Generate dependency list for current environment
pip freeze > requirements.txt

# Example requirements.txt content:
requests==2.31.0
flask==3.0.0
pandas==2.1.4
numpy==1.26.2

# Install all dependencies from file (used when deploying in a new environment)
pip install -r requirements.txt

💡 Tip: 💡 Recommended tools: pip-tools — manages dependency version lockingpoetry — modern Python package management tool, a replacement for pip + venv + setuptoolsuv — ultra-fast Python package manager, 10-100x faster than pip

Virtual Environment Best Practices

bash
# Recommended project structure
my_project/
├── venv/               # Virtual environment (add to .gitignore)
├── src/                # Source code
   └── main.py
├── tests/              # Test code
   └── test_main.py
├── requirements.txt    # Production dependencies
├── requirements-dev.txt # Development dependencies
├── .gitignore
└── README.md