Skip to main content
This guide covers everything you need to install angr, from basic pip installation to development setup.

Requirements

Before installing angr, ensure you meet these requirements:

Python Version

Python 3.10 or higher is required. angr supports Python 3.10, 3.11, 3.12, and 3.13.
Check your Python version:
python --version
angr has fully transitioned to Python 3 and does not support Python 2. If you need Python 2 support, you must use an older version of angr.

Installation methods

The simplest way to install angr is using pip with a virtual environment:
1

Create a virtual environment

Using venv (built into Python):
python -m venv angr-env
source angr-env/bin/activate  # On Windows: angr-env\Scripts\activate
Or using virtualenvwrapper:
mkvirtualenv --python=$(which python3) angr
2

Install angr

pip install angr
This installs angr with all core dependencies:
  • archinfo - Architecture information and definitions
  • pyvex - Python bindings for VEX IR
  • cle - Binary loader
  • claripy - Constraint solver interface
  • capstone - Disassembly engine
  • pypcode - P-code translation
  • And many more (see Core dependencies below)
3

Verify installation

python -c "import angr; print(angr.__version__)"

Optional dependencies

angr supports several optional features that require additional packages:
For assembling machine code:
pip install angr[keystone]
Or install separately:
pip install keystone-engine
For faster concrete execution using Unicorn:
pip install angr[unicorn]
Or install separately:
pip install unicorn==2.1.4
For storing analysis results in a database:
pip install angr[angrdb]
This installs SQLAlchemy for database operations.
For LLM-powered analysis features:
pip install angr[llm]
This installs pydantic-ai for LLM integration.
For performance monitoring and tracing:
pip install angr[telemetry]

Install all optional dependencies

To install angr with all optional features:
pip install angr[angrdb,keystone,unicorn,llm,telemetry]

Development installation

If you want to contribute to angr or use the latest development version:
1

Clone the repository

git clone https://github.com/angr/angr.git
cd angr
2

Install development dependencies

angr uses uv for development. Install uv first:
pip install uv
Then install angr in development mode:
uv sync
This installs:
  • All core dependencies
  • Development tools (pytest, ruff, coverage, etc.)
  • Documentation tools (sphinx, furo, etc.)
  • All optional dependencies
3

Install from source with pip

Alternatively, use pip in editable mode:
pip install -e .
For development with all extras:
pip install -e ".[angrdb,keystone,unicorn,llm]"
angr includes Rust components that are compiled during installation. Ensure you have a Rust toolchain installed for development builds.

Core dependencies

angr automatically installs these core dependencies:
  • archinfo (9.2.205.dev0) - Architecture definitions
  • pyvex (9.2.205.dev0) - VEX IR lifting
  • cle (9.2.205.dev0) - Binary loading
  • claripy (9.2.205.dev0) - Constraint solving
  • capstone (5.0.6) - Multi-architecture disassembler
  • pypcode (>=3.2.1, <4.0) - P-code translation
  • networkx (>=2.0, !=2.8.1) - Graph algorithms
  • cffi (>=1.14.0) - C Foreign Function Interface
  • cachetools - Caching utilities
  • sortedcontainers - Sorted data structures
  • rich (>=13.1.0) - Rich terminal output
  • GitPython - Git repository interaction
  • psutil - System and process utilities
  • lmdb - Lightning Memory-Mapped Database
  • msgspec - Fast serialization
  • sympy - Symbolic mathematics
  • pycparser (~=3.0) - C code parsing
  • protobuf (>=6.33.0) - Protocol buffers
  • cxxheaderparser - C++ header parsing
  • pydemumble - Symbol demangling
  • mulpyplexer - Multiplexing utilities
  • typing-extensions - Typing backports
  • colorama (Windows only) - Cross-platform colored output

Troubleshooting

Common issues

Solution: Ensure you activated your virtual environment and ran pip install angr.
source angr-env/bin/activate  # Activate your venv
pip install angr
Error: angr requires Python 3.10 or higherSolution: Upgrade Python or use pyenv to install a newer version:
pyenv install 3.12
pyenv global 3.12
Error: Errors building wheels or compiling native extensionsSolution: Install build dependencies:Ubuntu/Debian:
sudo apt-get install python3-dev build-essential
macOS:
xcode-select --install
Windows: Install Microsoft C++ Build Tools
Solution: Capstone is pinned to version 5.0.6. If installation fails, try:
pip install --upgrade pip setuptools wheel
pip install capstone==5.0.6
pip install angr
Issue: Large binaries may consume significant memorySolution: Use auto_load_libs=False when loading binaries:
project = angr.Project('binary', auto_load_libs=False)

Platform-specific notes

Most Linux distributions work out of the box. Install development headers:
# Ubuntu/Debian
sudo apt-get install python3-dev build-essential libffi-dev

# Fedora/RHEL
sudo dnf install python3-devel gcc libffi-devel

Verifying your installation

Run this script to verify all components are working:
import angr
import cle
import pyvex
import claripy
import archinfo

print(f"angr version: {angr.__version__}")
print(f"Architecture support: {archinfo.arch_from_id('AMD64')}")

# Test loading a binary
project = angr.Project('/bin/ls', auto_load_libs=False)
print(f"Successfully loaded: {project.filename}")
print(f"Architecture: {project.arch.name}")
print(f"Entry point: {hex(project.entry)}")

print("\nInstallation successful!")

Getting help

If you encounter issues not covered here:

GitHub Issues

Report bugs or installation problems

Documentation

Browse the official documentation

API Reference

Explore the API documentation

Awesome angr

Community resources and examples

Build docs developers (and LLMs) love