Зависимости
Зависимости плагинов. Установка зависимостей.
Плагины Аксиомы могут использовать сторонние библиотеки Python. Такой плагин во время установки обратится к каталогу пакетов PyPI и установит необходимые зависимости.
В коде плагина пакет импортируется обычным способом:
import numpy
...
Зависимости перечисляются в специальном файле requirements.txt
. Так плагин
с зависимостями может иметь следующую структуру:
ru_axioma_gis_axipy_example_plugin_from_package
├── __init__.py
├── manifest.ini
└── requirements.txt
Файл является простым текстовым файлом в кодировке UTF-8
, в котором
построчно перечислены необходимые пакеты. Например:
numpy
requests
idna
Примечание
В настоящий момент нет возможности указать версию пакета.
Также, зависимости можно установить напрямую, например, для использования в интерактивной консоли python.
Пример команды установки зависимостей из файла «requirements.txt»:
# Linux
"<AXIOMA>/sbin/run-python" -m pip install -r ./requirements.txt
# Например:
"/opt/axioma-gis6/sbin/run-python" -m pip install -r ./requirements.txt
# Windows
"<AXIOMA>\bin\python\python.exe" -m pip install -r requirements.txt
# Например:
"C:\Program Files\Axioma v6\bin\python\python.exe" -m pip install -r requirements.txt
Пример команды установки отдельного пакета по имени:
"C:/Program Files/Axioma v4/bin/python/python.exe" -m pip install qt5_applications
# Linux
"<AXIOMA>/sbin/run-python" -m pip install qt5_applications
# Например:
"/opt/axioma-gis6/sbin/run-python" -m pip install qt5_applications
# Windows
"<AXIOMA>\bin\python\python.exe" -m pip install qt5_applications
# Например:
"C:\Program Files\Axioma v6\bin\python\python.exe" -m pip install qt5_applications
где qt5_applications наименование пакета, который необходимо установить.
Расположение каталога установки зависимостей site-packages
Расположение каталога установки зависимостей, где <VERSION> - это номер версии Аксиомы, например «6».
"%APPDATA%/ESTI/Axioma.GIS/v<VERSION>/installed_modules/dependencies/site-packages"
C:/Users/user/AppData/Roaming/ESTI/Axioma.GIS/v6/installed_modules/dependencies/site-packages
"${HOME}"/.local/share/ESTI/Axioma.GIS/v<VERSION>/installed_modules/dependencies/site-packages
/home/user/.local/share/ESTI/Axioma.GIS/v6/installed_modules/dependencies/site-packages
"${HOME}/Library/Application Support/ESTI/Axioma.GIS/v6/installed_modules/dependencies/site-packages"
/home/user/Library/Application Support/ESTI/Axioma.GIS/v6/installed_modules/dependencies/site-packages
Также, определить каталог, куда будут устанавливаться зависимые python пакеты можно следующей командой:
# Linux
"<AXIOMA>/sbin/run-python" -c "import axipy; axipy.init_axioma(); print(axipy.get_dependencies_folder())"
# Например:
"/opt/axioma-gis6/sbin/run-python" -c "import axipy; axipy.init_axioma(); print(axipy.get_dependencies_folder())"
# Windows
"<AXIOMA>\bin\python\python.exe" -c "import axipy; axipy.init_axioma(); print(axipy.get_dependencies_folder())"
# Например:
"C:\Program Files\Axioma v6\bin\python\python.exe" -c "import axipy; axipy.init_axioma(); print(axipy.get_dependencies_folder())"
Без интернета. Ручная установка пакетов.
Может возникнуть ситуация, когда устанавливаемый плагин имеет внешние зависимости, а доступа к каталогу пакетов PyPI нет. Плагин не сможет успешно установиться.
В этом случае можно скачать все необходимые зависимые пакеты на компьютере, который имеет доступ к интернету и конкретно к каталогу пакетов PyPI, а затем перенести их на целевой компьютер.
Для этого рекомендуется:
Установить ГИС Аксиома на компьютер с доступом к сети Интернет (той же версии и платформы).
Извлечь из архива с плагином
.axp
файл зависимостейrequirements.txt
.Используя командную строку и интерпретатор Python внутри установленной Аксиомы, выполнить
# Linux
"<AXIOMA>/sbin/run-python" -m pip download -r ./requirements.txt --dest ./module_deps/
# Например:
"/opt/axioma-gis6/sbin/run-python" -m pip download -r ./requirements.txt --dest ./module_deps/
# Windows
"<AXIOMA>\bin\python\python.exe" -m pip download -r requirements.txt --dest module_deps
# Например:
"C:\Program Files\Axioma v6\bin\python\python.exe" -m pip download -r requirements.txt --dest module_deps
, где module_deps
- папка, в которую будут загружены зависимые пакеты.
Перенести зависимые пакеты на компьютер без интернета.
Аналогично, используя командную строку и интерпретатор Python внутри установленной Аксиомы, выполнить
# Linux
"<AXIOMA>/sbin/run-python" -m pip install -r ./requirements.txt --no-index --find-links ./module_deps/
# Например:
"/opt/axioma-gis6/sbin/run-python" -m pip install -r ./requirements.txt --no-index --find-links ./module_deps/
# Windows
"<AXIOMA>\bin\python\python.exe" -m pip install -r requirements.txt --no-index --find-links module_deps
# Например:
"C:\Program Files\Axioma v6\bin\python\python.exe" -m pip install -r requirements.txt --no-index --find-links module_deps
Установить архив с плагином
*.axp
.