Плагины

Вопросы связанные с работой ГИС Аксиома
Аватара пользователя
Матвеич
Сообщения: 79
Зарегистрирован: 09 янв 2024, 11:43

Плагины

Сообщение Матвеич » 09 янв 2024, 11:59

Милостивые Государи !

как В PyCharm подключить библиотеку axipy.

При запуске выдает сообщение

File "C:\Аксиома\Proba\pythonProject2\main.py", line 15, in <module>
import axipy
ModuleNotFoundError: No module named 'axipy'

при создании проекта нет режима
• Требуется установить галочку Inherit global site-packages, чтобы Python смог
обнаружить axipy;

Примите мои уверения в почтении
Аватара пользователя
Матвеич
Сообщения: 79
Зарегистрирован: 09 янв 2024, 11:43

Re: Плагины

Сообщение Матвеич » 09 янв 2024, 12:35

Благодарю Вас за интерес!

Проблему решил.
Аватара пользователя
Александр
Сообщения: 433
Зарегистрирован: 18 апр 2019, 08:21

Re: Плагины

Сообщение Александр » 09 янв 2024, 13:14

Вы делаете так как описано на https://axioma-gis.ru/axipy/dev-guide/5.1/user_guide/development/pycharm_windows.html
В PyCharm интерфейс несколько поменялся и теперь окно создания проекта выглядит так:
img.png
img.png (77.25 КБ) 1398 просмотров
галочку "Inherit global site-packages" переименовали в "Inherit packeges from base interpreter"

Плохая новость в том, что эта галочка похоже перестала работать и это видимо баг в PyCharm.
Чтобы исправить ситуацию откройте файл pyvenv.cfg в созданной папке с виртуальным окружением и измените:

Код: Выделить всё

include-system-site-packages = false
на

Код: Выделить всё

include-system-site-packages = true
После чего перезапустите PyCharm
Аватара пользователя
Матвеич
Сообщения: 79
Зарегистрирован: 09 янв 2024, 11:43

Re: Плагины

Сообщение Матвеич » 10 янв 2024, 11:18

Благодарю Вас Александр !
Я только приступил к трансляции ПО MapTopik , написанной на MapBasic Mapinfo , для ГИС Аксиома 5.
Аватара пользователя
Матвеич
Сообщения: 79
Зарегистрирован: 09 янв 2024, 11:43

Re: Плагины

Сообщение Матвеич » 10 янв 2024, 11:23

Вопросов будет ,к сожалению , еще много. Заранее приношу свои извинения. с API в Phyton только знакомлюсь.
Аватара пользователя
Матвеич
Сообщения: 79
Зарегистрирован: 09 янв 2024, 11:43

Re: Плагины

Сообщение Матвеич » 12 янв 2024, 12:35

Отсутствует модуль QtWidgets'



Тестовый пример из axipy-dev-guide-5.1.pdf

Список 3: Создание обработчика для взаимодействия
с панелью активного инструмента.

service = ActiveToolPanel()
# Любой пользовательский графический элемент
widget = QWidget()
# Создаём обработчик для панели активного инструмента через который
# будем управлять панелью.
tool_panel = service.make_acceptable(
title="Мой инструмент",
observer_id=DefaultKeys.SelectionEditable,
widget=widget)
# Подписываемся на сигнал отправляемый после нажатия на кнопку "Применить" в панели

работа в PyCharm 2023.3.2 (Community Edition)
=======================================
from QtWidgets import QWidget
from axipy import ActionButton, Position, tr, init_axioma, mainwindow, ActiveToolPanel, DefaultKeys

service = ActiveToolPanel()
# Любой пользовательский графический элемент
widget = QWidget()

# Создаём обработчик для панели активного инструмента через который
# будем управлять панелью.
tool_panel = service.make_acceptable(
title="Мой инструмент",
observer_id=DefaultKeys.SelectionEditable,
widget=widget)

# Подписываемся на сигнал отправляемый после нажатия на кнопку "Применить" в панели
tool_panel.accepted.connect(lambda: print("Применяем изменения"))

button = ActionButton("Простое действие", on_click=lambda: print("triggered"))
position = Position(tr("Основные"), tr("Команды"))
position.add(button)

# Инициализация ядра
app = init_axioma()
# Создание и отображение главного окна Аксиомы
mainwindow.show()
# Запуск основного цикла приложения
app.exec_()
===========================================================

' результат выполнения

"C:\Program Files\Axioma v5\bin\python\python.exe" C:\Аксиома\Proba\pythonProject8\main.py
Unhandled Python Exception:
Traceback (most recent call last):
File "C:\Аксиома\Proba\pythonProject8\main.py", line 1, in <module>
from QtWidgets import QWidget
ModuleNotFoundError: No module named 'QtWidgets'

Process finished with exit code 1
Аватара пользователя
Александр
Сообщения: 433
Зарегистрирован: 18 апр 2019, 08:21

Re: Плагины

Сообщение Александр » 12 янв 2024, 14:30

модуль PySide2.QtWidgets
соответственно:

Код: Выделить всё

from PySide2.QtWidgets import QWidget
Аватара пользователя
Матвеич
Сообщения: 79
Зарегистрирован: 09 янв 2024, 11:43

Re: Плагины

Сообщение Матвеич » 15 янв 2024, 09:02

Александр !

запустил исправленный пример
from PySide2.QtWidgets import QWidget
from axipy import ActiveToolPanel, DefaultKeys, init_axioma, mainwindow

service = ActiveToolPanel()
# Любой пользовательский графический элемент
widget = QWidget()

# Создаём обработчик для панели активного инструмента через который
# будем управлять панелью.
tool_panel = service.make_acceptable(
title="Мой инструмент",
observer_id=DefaultKeys.SelectionEditable,
widget=widget)

# Подписываемся на сигнал отправляемый после нажатия на кнопку "Применить" в панели
tool_panel.accepted.connect(lambda: print("Применяем изменения"))

# Инициализация ядра
app = init_axioma()
# Создание и отображение главного окна Аксиомы
mainwindow.show()
# Запуск основного цикла приложения
app.exec_()

****************************************
выдано сообщение
Process finished with exit code -1073740286 (0xC0000602)
Что опять не так


Запускал пример из раздела создание приложений - работает безупречно
Аватара пользователя
Александр
Сообщения: 433
Зарегистрирован: 18 апр 2019, 08:21

Re: Плагины

Сообщение Александр » 16 янв 2024, 11:36

Для использования axipy вне Аксиомы необходимо выполнить инициализацию Аксиомы. Для этого следует вызвать метод init_axioma() перед вызовом остальных методов axipy.
В Вашем случае требуется переместить init_axioma сразу после импортов.
Аватара пользователя
Матвеич
Сообщения: 79
Зарегистрирован: 09 янв 2024, 11:43

Re: Плагины

Сообщение Матвеич » 16 янв 2024, 11:52

Благодарю Вас Александр! Все получилось.
Ответить