Я создал приложение GUI с использованием python и PyQt5. Я хочу упаковать это приложение, но, похоже, нет прямого способа сделать это. Более того, я нашел ответы на вопрос о том, как упаковать модуль python, а не приложение. Я читал различные статьи и официальные документы, но по-прежнему не имею надлежащего ответа на это, хотя есть несколько обходных путей, через которые я мог бы добиться того же самого, я просто хочу знать, что является стандартным способом.упаковка приложение python для linux
Это моя структура каталогов:
Moodly/
Moodly/
__init__.py
controller.py
logic.py
models.py
view.py
resoure.py
style.py
sounds/
notify.wav
message.wav
setup.py
MANIFEST.in
setup.cfg
run.py
moodly.png
Moodly.desktop
Что я хочу достичь: Пользователю дается с тар файла Moodly. Пользователь извлекает его, выполняет данную команду
python setup.py install
в терминале, установка размещает все файлы в нужном месте и создает файл Moodly.desktop, вероятно, в USR/местные/доли/приложений, нажав на которую пользователь может запустите приложение.
Мой путь достижения этой цели:
setup.py
from setuptools import setup
setup(
name="Moodly",
version="1.0",
author="Akshay Agarwal",
author_email="[email protected]",
packages=["Moodly"],
include_package_data=True ,
url="http://github.com/AkshayAgarwal007/Moodly",
entry_points = {
'gui_scripts': [
'moodly = Moodly.controller:main',
],
},
# license="LICENSE.txt",
description="Student Intimation system",
# long_description=open("README.txt").read(),
# Dependent packages (distributions)
)
MANIFEST.in
include Moodly/sounds/notify.wav
include Moodly/sounds/message.wav
Теперь не setup.cfg я выполнить команду :
python setup.py install
Это успешно устанавливает Moodly в /usr/lib/python-3.4/site-packages Alongwith звуки Теперь directory.And от терминала, когда я набираю в moodly (как указано в пунктах въезда в setup.py) мое графическое приложение запускается успешно.
Теперь мне просто нужно настройки, чтобы создать Moodly.desktop Alongwith moodly.png в USR/местные/доли/приложений, которые я пытаюсь достичь через это:
setup.cfg
[install]
install_data=/usr/local/share/applications
Добавление этого setup.py
data_files = [("Moodly", ["moodly.png","Moodly.desktop",])],
Но это как-то S eems для копирования файлов внутри python-3.4/сайт-пакеты/Moodly, а не в указанном месте, но он используется для хорошо работать с Distutils
This guy also seems to have faced the same issue
Некоторые другие ссылки я использовал:
Так что я пытаюсь это сделать, сколько это правильно и каков стандартный способ сделать это. Как я могу разместить этот Moodly.desktop в нужном месте или что может быть лучшим альтернативным способом для всего процесса.
Более того, использование Pyinstaller было бы лучше. Pyinstaller будет пакет приложения с PyQt5, запросы и beautifulsoup4 (внешние модули, которые я использовал), которые я не хочу. Я хочу использовать параметр install_requires, предоставляемый setuptools, и не лишним заставить пользователя загружать модули, которые у них уже есть.