Splunk Dev

"ModuleNotFoundError: No module named 'sn_sec_util'" error on loading python custom module

gsabhay77
Explorer

I have created a custom python script named "sn_sec_util.py" in the bin folder of the splunk app. I want to load this file in the python REST handler "my_submit.py" which is also in the bin folder.

But I am facing the issue at the import statement mentioning "ModuleNotFoundError: No module named 'sn_sec_util".

Here is the file "my_submit.py" with import statement of the module "sn_sec_util.py" in the line 4.

import sys
import splunk
import logging, logging.handlers
import sn_sec_util as snutil
from urllib.parse import unquote

class Submit(splunk.rest.BaseRestHandler):

    def handle_submit(self):
         payload = self.request['payload']
         sessionKey = self.sessionKey
    handle_POST = handle_submit 
Labels (2)
0 Karma

tpavlik_splunk
Splunk Employee
Splunk Employee

Hey gsabhay77,

Your ability to import other modules will depend on your PYTHONPATH which is specific to your system where Splunk is running. The easiest way to debug the path that the script is running from is to output sys.path:

import sys
print(sys.path) // ['', '/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8', ...]

Without getting too much into your system setup if you simply need the directory that your my_submit.py file resides in to be added to the path you could do so by adding the current absolute path that the file is running from using:

import os
import sys

sys.path.append(os.path.dirname(os.path.abspath(__file__)))

Adding those lines to the top of your script should hopefully resolve your issue.

0 Karma
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

Continue Your Federation Journey: Join Session 3 of the Bootcamp Series

To help practitioners build a stronger foundation, we launched the Data Management & Federation ...

Announcing Modern Navigation: A New Era of Splunk User Experience

We are excited to introduce the Modern Navigation feature in the Splunk Platform, available to both cloud and ...

Casting Call: Compete in Cyber Games

Lights, Camera, SecOps: Apply to Compete in Cyber Games     Think you have what it takes to beat the clock? ...