Skip to content

Latest commit

 

History

History
167 lines (118 loc) · 5.49 KB

File metadata and controls

167 lines (118 loc) · 5.49 KB

MusicBrainz Picard Installation

Quick Start

The easiest way to install Picard is from the official downloads page.

For development or building from source, follow the instructions below.

Dependencies

Required Dependencies

  • Python 3.10 or newer
  • PyQt 6.6.1 or newer
  • Mutagen 1.45 or newer
  • PyYAML 5.1 or newer
  • pygit2 - For plugin system
  • gettext (msgfmt):
    • Windows: Download from gettext-iconv-windows and add to PATH
    • Linux: sudo apt install gettext (Ubuntu/Debian) or equivalent
    • macOS: Usually included with Xcode Command Line Tools, or brew install gettext

    Note: On macOS, Homebrew installs gettext as keg-only. If you see msgfmt errors, you must link it manually:

    brew link gettext --force
    export PATH="/opt/homebrew/opt/gettext/bin:$PATH"
  • A compiler (required for building C extensions):
    • Windows: Visual Studio Community
    • Linux: sudo apt install build-essential (Ubuntu/Debian) or equivalent
    • macOS: Xcode Command Line Tools (xcode-select --install)

Python Version-Specific Dependencies

Optional Dependencies (Recommended)

Installation Methods

Method 1: Using uv (Recommended)

Quick setup with uv:

# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh  # macOS/Linux
# powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"  # Windows

# Set up and install Picard
uv venv
source .venv/bin/activate  # macOS/Linux (.venv\Scripts\activate.bat on Windows)
uv sync  # Automatically installs all dependencies from pyproject.toml
python setup.py build && python setup.py build_ext -i
uv pip install -e .

# Run Picard
picard

For development workflow, testing, code quality tools, and more details, see CONTRIBUTING.md.

Method 2: Using pip

After installing dependencies manually:

pip3 install .  # Installs Picard but not dependencies

To start Picard:

picard

To uninstall:

pip3 uninstall picard

Method 3: Traditional pip setup

# Create virtual environment
python3 -m venv --system-site-packages .venv
source .venv/bin/activate

# Install dependencies manually
pip install -r requirements.txt -r requirements-build.txt -r requirements-dev.txt

# Build and run
python3 setup.py build          # Compiles translations and prepares build files
python3 setup.py build_ext -i   # Builds C extensions in-place for development
python3 tagger.py

Method 4: Legacy setup.py (Not Recommended)

sudo python3 setup.py install  # Installs Picard and attempts to install dependencies

Platform-Specific Notes

System Package Dependencies (Building from Source)

When building from source on Debian-based systems, you may need these system packages:

# Required for development tools and PyQt6 system libraries
apt install python3-venv python3-dev

# Optional: For discid support
apt install libdiscid0

# Optional: For multimedia player support
apt install libqt6multimedia6

# Alternative: Use system PyQt6 instead of pip/uv installation
apt install python3-pyqt6 python3-pyqt6.qtmultimedia

Note:

  • Not needed for official binary installations
  • When using uv/pip, you may still need some system libraries (like libqt6multimedia6)
  • You can use system PyQt6 packages instead of installing via pip/uv

Qt6 via pip Issues

If you get libxcb errors on startup when using Qt6 installed via pip:

sudo apt install libxcb-cursor0

Packaging

To create and upload packages:

python3 setup.py sdist
twine upload dist/*

Code Signatures

Official Picard packages are digitally signed. For packaging, use source archives from the official file server.

Verify signatures with:

gpg --verify picard-x.y.z.tar.gz.asc  # where x.y.z is the version number
Certificate Expiration Fingerprint
Windows Code Signing 2024-10-25 4d0c868847e2a5e44ae734e1279a9c7007fd6d4c
Apple Code Signing 2027-02-01 deb351206f7dc9361e1cf3d864edce98a8d3302d
MBP Developers GPG 2026-10-28 68990dd0b1edc129b856958167997e14d563da7c