Orange3 build-macos-app.sh показывает категорию пользовательских виджетов, но не сам виджет - PullRequest
0 голосов
/ 03 октября 2018

Я создал собственный виджет "viewdicom" для Orange3 на основе учебника "Data Sampler".Его setup.py выглядит следующим образом

из setuptools import setup, find_packages

setup(
    version="1.0.0",
    name="viewdicom",
    packages=find_packages(),
    package_data={"viewdicom": ["icons/*.svg"]},
    install_requires=["rtk"],
    include_package_data=True,
    classifiers=["Example :: Invalid"],
    entry_points={"orange.widgets": "Radiomics = viewdicom"},
)

Я вытащил репозиторий Orange3 Git и создал для него virtualenv.Когда я устанавливаю виджет в это virtualenv, используя «pip install -e».а затем запустить сам Orange3, я правильно вижу виджет "viewdicom" в своей категории "Radiomics".

Все хорошо.Затем я пытаюсь собрать приложение Mac OSX из установки Orange3, используя следующий скрипт build.sh, который оборачивает скрипт build-macos-app.sh:

#!/bin/bash
rm -rf /Applications/Orange3.app
../orange3/scripts/macos/build-macos-app.sh --pip-arg={-e,/Users/ralph/dev/orange3,/Users/ralph/dev/rtk,/Users/ralph/dev/orange3-widgets/rtk/viewdicom,PyQt5} /Applications/Orange3.ap

Так что мой пользовательский виджет называется "viewdicom"и он использует библиотеку (мою) под названием "RTK".Я не уверен, что это правильный способ включения пользовательских библиотек и виджетов в сборку * .app, но без них я не вижу ничего в пакетах сайта контента * .app.

Если я собираюприложение, как это и проверить содержимое каталога site-packages внутри Orange3.app: /Applications/Orange3.app/Contents/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages

Я вижу следующее для "rtk":

пакет "rtk" структура каталогов site-packages

и следующее для "viewdicom"

пакет "viewdicom" структура каталогов site-packages

Кажется, они установлены внутри Orange3.app.Насколько я вижу, файлы "instal_files.txt" и "SOURCES.txt" содержат нужные исходные файлы.Файл "entry_points.txt" для "viewdicom" правильно содержит

[orange.widgets]
Radiomics = viewdicom

Я не уверен насчет библиотеки "rtk".Это не виджет Orange3 и не приложение.Я не знаю, нужна ли ему также точка входа.

Я не могу понять, почему встроенный Orange3.app правильно отображал бы категорию «Радиомикс», но не виджет «viewdicom».

Если у кого-то есть опыт работы со скриптом build-tacos-app.sh, я был бы благодарен за несколько советов.

...