Обычное приложение на Python 3, использующее PyWebEngine и PyQt5 для открытия веб версии Яндекс Музыки.
Создавал для себя, так как официальных версий Яндекс Музыки для macOS и Linux нет, а публичное API так и не было предоставлено.
Зачастую не совсем удобно в рабочем профиле браузера открывать дополнительные вкладки с личным аккаунтом для прослушивания треков из Яндекс Музыки. Это приложение решает такую проблему.
ПРЕДУПРЕЖДЕНИЕ
Все команды желательно выполнять в терминале (не в терминалах IDE!), чтобы избежать проблем с зависимостями!
Требуется наличие Python3 в системе и инструментов разработчика (GCC, XCode CommandLine Tools и т.п.)
Сборка и работоспособность протестированы:
- на macOS Sonoma 14.1.1 arm64 (Apple Silicon), Python 3.11.0, Homebrew 4.1.20, CLTools 14.3.1
- на Linux Mint 21.2 x86_64, Python 3.10.12, GCC 11.4.0
- Скачать проект или выполнить клонирование (должен быть установлен git):
git clone https://github.com/vokash3/YandexMusicApp.git
- Перейти в директорию с проектом и выполнить установку зависимостей:
python3 -m pip install -r requirements.txt
- Остаться в директории с проектом YandexMusicApp.
ДВА ВАРИАНТА
1. Сборка через py2app
Особенность: приложение можно будет добавить в Программы
-
Установить py2app:
python3 -m pip install py2app
-
(Дополнительно) Если НЕТ setup.py в директории проекта, выполнить его генерацию:
py2applet --make-setup YandexMusicApp
-
Выполнить сборку app пакета:
python3 setup.py py2app --dist-dir=YandexMusicAppBuild
будет создан привычный YandexMusicApp.app пакет в поддиректории YandexMusicAppBuild этого проекта, который можно переместить в Программы и запускать из Launchpad.
2. Сборка через Nuitka
-
Выполнить сборку исполняемого bin файла:
python3 -m nuitka --enable-plugin=pyqt5 --macos-create-app-bundle --macos-app-icon=icon.icns --output-dir=YandexMusicAppBuild YandexMusicApp.py
будет создан исполняемый YandexMusicApp файл в поддиректории YandexMusicAppBuild этого проекта.
ОДИН ВАРИАНТ
Сборка через Nuitka
-
Установить инструменты разработки через apt (apt-get):
sudo apt install build-essential
sudo apt install python3.10-dev
-
Выполнить установку дополнительного пакета через apt (apt-get) (актуально на Ubuntu):
sudo apt-get install python3-pyqt5.qtwebengine
-
Выполнить сборку исполняемого bin файла:
python3 -m nuitka --enable-plugin=pyqt5 --linux-icon=icon.png --output-dir=YandexMusicAppBuild YandexMusicApp.py
будет создан исполняемый YandexMusicApp.bin файл в поддиректории YandexMusicAppBuild этого проекта.
Универсальный вариант (для linux и mac) через pyinstaller
Этот способ не советую. Программа может не запуститься. Оставляю этот вариант для справки.
- Выполнить установку pyinstaller через pip:
python3 -m pip install pyinstaller
- Запустить сборку проекта:
pyinstaller --onefile YandexMusicApp.py
будет создан исполняемый YandexMusicApp файл в поддиректории dist этого проекта.
-
-
На macOS можно создать и app пакет:
pyinstaller --noconsole -i icon.icns YandexMusicApp.py
-
- Просто запустить через python интерпретатор:
python3 YandexMusicApp.py