У меня есть приложение, которое я написал для Splunk, которое зависит от библиотек boto3 и pyOpenSSL. Я не нашел хорошего способа поместить зависимости приложений в папку bin приложения, кроме перетаскивания, которая не работает для boto3 и pyOpenSSL.
На данный момент каждый раз, когда нам нужно было сделав модуль python доступным для отдельного приложения в Splunk, мы перетянем модули python в $ SPLUNK_HOME / etc / apps / APP_NAME / bin / MODULE. Это работало до тех пор, пока нам не понадобились библиотеки pyOpenSSL и boto3, которые имеют множество криптографических и одиночных скриптовых зависимостей, которые не отображаются корректно.
Что я пробовал:
1| python3 -m venv $SPLUNK_HOME/etc/apps/APP_NAME/
2| python3 -m pip install (pyOpenSSL, boxsdk, pyJWT, boto3) < base dependencies
3| move $SPLUNK_HOME/etc/apps/APP_NAME/lib/python3.7/site-packages/ > $/SPLUNK_HOME/etc/apps/APP_NAME/bin
4| Put all my app scripts in $/SPLUNK_HOME/etc/apps/APP_NAME/bin alongside all the modules I just installed to that folder using venv
5| Start Splunk
6| search | search_command arg=0
В В этот момент Splunk сообщает мне, что модули enum34, ipaddress, chainmap, cryptography (модуль _constant_time, похороненный здесь где-то, не существует там, где он должен), не существуют.
Затем я выключаю Splunk, повторяю шаги 1-6, но также устанавливаю все эти недостающие модули на шаге 2. Теперь я получаю следующую ошибку:
External search command 'boxfiles' returned error code 1. First 1000 (of 1456) bytes of script output: "No module named constant_time ERROR "Error 'No module named constant_time'. Traceback (most recent call last): File ""/Applications/Splunk/etc/apps/TA-box-connector/bin/box_connector/init.py"", line 3, in from box_connector import BoxConnector File ""/Applications/Splunk/etc/apps/TA-box-connector/bin/box_connector/box_connector.py"", line 10, in from OpenSSL import crypto File ""/Applications/Splunk/etc/apps/TA-box-connector/bin/OpenSSL/init.py"", line 8, in from OpenSSL import crypto, SSL File ""/Applications/Splunk/etc/apps/TA-box-connector/bin/OpenSSL/crypto.py"", line 12, in from cryptography import x509 File ""/Applications/Splunk/etc/apps/TA-box-connector/bin/cryptography/x509/init.py"", line 8, in from cryptography.x509.base import ( File ""/Applications/Splunk/etc/apps/TA-box-connector/bin/cryptography/x509/base.py"", line 18, in from cryptography.x509.extensions import Exte".
Я бы хотел устранить эту ошибку, но я работал над этим проблема зависимости в течение некоторого времени, поэтому, если есть лучшее решение для размещения этих пакетов здесь, я хотел бы услышать об этом.