Обновление дополнения требует переустановки Orange3 - PullRequest
0 голосов
/ 08 ноября 2018

Я создал дополнение на PyPI.org и могу успешно импортировать его в Orange 3.17 для Mac OSX. Однако, когда я делаю небольшое изменение в коде, я не могу заставить Orange3 забрать эти изменения. Он продолжает ссылаться на некоторую кэшированную версию дополнения.

Даже когда вы выбираете «Сброс настроек виджета» в меню «Параметры» или даже физически удаляете файлы ~ / Library / Caches / Orange3, старая версия продолжает появляться. Я удалил предыдущую надстройку, затем переустановил последнюю версию, все время перезапуская Orange3. Я попробовал много разных комбинаций, чтобы Orange3 увидел изменения. Но безрезультатно.

Единственное, что, похоже, работает, это полностью удалить Orange3 с моего компьютера и переустановить его полностью. Если я загружаю надстройку, я получаю последнюю версию с обновленным кодом.

Есть ли объяснение этому поведению? Если я тестирую свою надстройку, то мне все время приходится переустанавливать Orange3.

Любая помощь будет принята с благодарностью!

Приветствия

1 Ответ

0 голосов
/ 12 ноября 2018

Когда вы устанавливаете дополнение с помощью pip, оно обычно копирует исходный код в другое место в среде, которую использует Orange. Если вы хотите разработать дополнение и увидеть изменения непосредственно в Orange, вы можете зарегистрировать это дополнение с помощью следующей команды:

pip install -e .

стоя в корневой директории аддона. Вы должны активировать виртуальную среду Orange. Опция -e скажет pip не копировать исходный код, а использовать код из каталога, в котором вы разрабатываете надстройку.

Когда изменения передаются в PyPI, вы можете обновить надстройку из диалогового окна надстроек Orange (Options>Add-ons) с проверкой надстройки, которая обновлена, или вы можете использовать команду pip:

pip install --upgrade <add-on name>

У вас должна быть активирована виртуальная среда Orange.

Для разработки предлагаю использовать версию Orange от GitHub . Вы можете установить его, следуя инструкциям .

...