1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190
|
MusicBrainz Picard Installation
===============================
Dependencies
------------
Before installing Picard from source, you need to check you have the following dependencies installed.
Required:
* [Python 3.8 or newer](https://python.org/download)
* [PyQt 5.11 or newer](https://riverbankcomputing.com/software/pyqt/download)
* [Mutagen 1.37 or newer](https://mutagen.readthedocs.io/)
* [PyYAML 5.1 or newer](https://pyyaml.org/)
* [python-dateutil](https://dateutil.readthedocs.io/en/stable/)
* gettext:
* [Windows](https://mlocati.github.io/articles/gettext-iconv-windows.html)
* a compiler
* Windows should work with [Visual Studio Community 2019](https://aka.ms/vs/16/release/vs_community.exe)
Optional but recommended:
* [chromaprint](https://acoustid.org/chromaprint)
* Required for fingerprinting (scanning) files
* [python-discid](https://python-discid.readthedocs.org/) or [python-libdiscid](https://pypi.org/project/python-libdiscid/)
* Required for CD lookups.
* Depends on [libdiscid](https://musicbrainz.org/doc/libdiscid)
Note: Due to slowdowns in reading the CD TOC, using libdiscid versions
0.3.0 - 0.4.1 is not recommended.
* [python-markdown](https://python-markdown.github.io/install/)
* Required for the complete scripting documentation
* [PyJWT 1.7 or newer](https://pyjwt.readthedocs.io/)
* Required for the add cluster as release / add file as recording functionality
* [charset_normalizer](https://pypi.org/project/charset-normalizer/) or [chardet](https://pypi.org/project/chardet/)
* Required for character encoding detection in CD ripping log files
We recommend you use [pip](https://pip.pypa.io/en/stable/) to install the Python
dependencies:
Run the following command to install PyQt5, Mutagen and discid:
pip3 install -r requirements.txt
The binaries for Python, GetText (`msgfmt`), `fpcalc` and `discid.dll` have to be
in the `%PATH%` on Windows.
Installation using pip
----------------------
The recommended way to install Picard from source is using pip. After installing
the dependencies, you can install Picard as a pip package by running:
pip3 install .
To start Picard now you can use:
picard
To uninstall Picard run:
pip3 uninstall picard
Installation using setup.py
---------------------------
You can also install Picard with `setup.py` by running:
sudo python3 setup.py install
This will automatically build and install all required Python modules.
On Windows you need to have Administrator rights, but don't put `sudo`
in front of the command.
To start Picard now you can use:
picard
If you want to be able to easily uninstall Picard again, run `setup.py`
with the `--record installed-files.txt` command line argument. This will record
all files generated during installation into the file `installed-files.txt`.
sudo python3 setup.py install --record installed-files.txt
To uninstall Picard again simply remove all the files listed in
`installed-files.txt`, e.g. by running:
rm -vI $(cat installed-files.txt)
Running From the Source Tree
----------------------------
If you want to run Picard from the source directory without installing,
or want to develop, you need to follow those steps.
On Debian-based systems:
apt install python3-pyqt5 python3-venv python3-dev
For discid support (optional):
apt install libdiscid0
For embedded multimedia player support (optional):
apt install python3-pyqt5.qtmultimedia libqt5multimedia5-plugins
For other distributions, check your distribution's documentation
on how to install the packages for Qt5, PyQt5, Python3 C headers,
and Python3 venv.
At top of source directory, create a .venv directory:
python3 -m venv --system-site-packages .venv
Activate it:
. .venv/bin/activate
Install requirements (here we also install build & dev requirements):
pip install -r requirements.txt -r requirements-build.txt -r requirements-dev.txt
You then need to build the C extensions and locales manually.
C extension will require header file `Python.h`.
Then you can build Picard dependencies:
python3 setup.py build
python3 setup.py build_ext -i
python3 setup.py build_locales -i
And to start Picard use:
python3 tagger.py
Or, to enable debug mode:
python3 tagger.py -d
Running the Test Suite
----------------------
To run the included tests, follow the instructions for "Running From
the Source Tree". Afterward you can run the tests using setup.py:
python3 setup.py test
Packaging
---------
Picard supports packaging binaries and uploading them to PyPi.
To submit a package run:
python3 setup.py sdist
twine upload dist/*
Code Signatures
---------------
The official software packages of MusicBrainz Picard for macOS and Windows as
well as the official source archives are all digitally signed.
If you are packaging Picard for an operating system (e.g. a Linux distribution)
we recommend that you use the source archives from the
[official file server](https://data.musicbrainz.org/pub/musicbrainz/picard/).
The source archives are named `picard-x.y.z.tar.gz` and there is a corresponding
GPG signature file `picard-x.y.z.tar.gz.asc` signed with the GPG key listed
below.
You can verify the signature with e.g.:
gpg --verify picard-2.9.tar.gz.asc
Make sure the key fingerprint in the output matches the fingerprint of the
GPG key below.
The signing certificates and keys currently in use are:
| Certificate | Expiration | Fingerprint |
|----------------------|------------|------------------------------------------|
| Windows Code Signing | 2024-10-25 | 4d0c868847e2a5e44ae734e1279a9c7007fd6d4c |
| Apple Code Signing | 2027-02-01 | deb351206f7dc9361e1cf3d864edce98a8d3302d |
| MBP Developers GPG | 2026-10-28 | [68990dd0b1edc129b856958167997e14d563da7c](https://keyserver.ubuntu.com/pks/lookup?op=vindex&search=0x67997e14d563da7c) |
|