Why use distro packages instead of pip? ======================================= * Packages integrate well with the system * Packages can be installed/updated/removed with the package manager which users probably already know how to use * No need to learn/use pip and venv, no need to compile anything The following lists should work for any recent release of the named distros and derivatives. However, for some modules, some distros might ship versions that are too old. These should be installed through pip until the distro adds/updates the package. IMPORTANT PySide2 + Python 3.8 compatibility notice =================================================== This especially applies to Arch and other rolling release distro users. Slower distros most likely won't upgrade right away to Python 3.8 and thus won't have this problem. If you are using Python 3.8 or newer, you need at least Qt version 5.14 and the corresponding PySide2 version. Otherwise you will get a `TypeError: 'Shiboken.ObjectType' object is not iterable` error on startup. To temporarily work around this by using PyQt5, install PyQt5 instead of PySide2, then either remove PySide2 or set the QT_API environment variable to PyQt5. Arch Linux, Manjaro =================== Install from the AUR: https://aur.archlinux.org/packages/hydrus/ (This is what I use personally and it works great - it's basically just a script which installs dependencies, clones the source from the official repo and puts it in the right place.) Even if not installing from the AUR, the above link has a full and up-to-date list of the required package dependencies. Note that you can use PyQt5 instead of PySide2 (however PySide2 is recommended). If you choose to use PyQt5, you don't need PySide2 or shiboken2 but have to install python-pyqt5 and python-sip-pyqt5. Ubuntu, Debian, Linux Mint ========================== Note: if you are using an older release, the python3-pyside2.* packages listed below might not be available. If that is the case, install PySide2 with: pip3 install --user pyside2 Required: python3-chardet python3-html5lib python3-bs4 python3-lxml python3-nose python3-numpy python3-opencv python3-six python3-pil python3-psutil python3-openssl python3-yaml python3-requests python3-send2trash python3-service-identity python3-twisted ffmpeg python3-pyside2.qtwidgets python3-pyside2.qtcore python3-pyside2.qtgui python3-pyside2.qtcharts You also need python3-qtpy, but the version shipped by these distros (as of this writing) is too old. At least version 1.8 is required. Until the distros catch up, it is recommended that you install this module with pip instead of the package manager, like this: pip3 install --user qtpy You might need to install the shiboken2 module from pip since it looks like it is not currently packaged: pip3 install --user shiboken2 Instead of PySide2 (the python3-pyside2.* packages above and shiboken2), you can also use PyQt5 (python3-pyqt5, python3-sip), though PySide2 is recommended. Optional: python3-lz4 python3-pysocks python3-mock python3-httmock pylzma doesn't seem to be packaged, but it is not essential. Package search: https://packages.debian.org/, https://packages.ubuntu.com/ Fedora ====== Required packages: python3-beautifulsoup4 python3-chardet python3-html5lib python3-lxml python3-nose python3-numpy python3-opencv python3-six python3-pillow python3-psutil python3-pyOpenSSL python3-pyyaml python3-requests python3-send2trash python3-service-identity python3-twisted python3-qtpy (1.8 or newer) python3-pyside2 python3-shiboken2 Instead of PySide2 (python3-pyside2, python3-shiboken2) you can also use PyQt5 (python3-sip, python3-qt5). The optional stuff: python3-lz4 python3-pysocks python3-httmock qt5-qtcharts mock and pylzma doesn't seem to be packaged, and ffmpeg isn't in the base Fedora repo (due to licensing/patents scare?), but can be installed from the rpmfusion repo (https://rpmfusion.org/). From these, only ffmpeg is necessary for normal users. Package search: https://apps.fedoraproject.org/packages/ openSuse ======== Required: python3-beautifulsoup4 python3-chardet python3-html5lib python3-lxml python3-nose python3-numpy python3-opencv python3-six python3-Pillow python3-psutil python3-pyOpenSSL python3-PyYAML python3-requests python3-Send2Trash python3-service_identity python3-Twisted ffmpeg-4 python3-pyside2 python3-QtPy python3-python-mpv You might need to install the shiboken2 module from pip since it looks like it is not currently packaged. Instead of PySide2 (python3-pyside2 and the shiboken2 module) you can also use PyQt5 (python3-sip, python3-qt5). Optional: python3-lz4 python3-pylzma python3-PySocks python3-mock python3-httmock libqt5-qtcharts Package search: https://software.opensuse.org/search