Splunk Search

How to force Splunk to use Python 3 for our app?

dgriffioen
Engager

We build our own app that only works in Python 3. I would like to know how to force Splunk to use python 3 for this app. We don't want to ask users to change the system wide setting in server.conf. The app adds a new input form to Splunk under local inputs. Below is the error i`m getting.

"Unable to initialize modular input "appname" defined in the app "appname": Introspecting scheme=appApi: script running failed (exited with code 1).."

I tried adding python.version = python3 in inputs.conf, app.conf and props.conf but that does not fix it. Any idea how to fix this? or can it only be fixed by making the script compatible with python2?

0 Karma

richgalloway
SplunkTrust
SplunkTrust

The file in which to put python.version = python3 depends on how your app uses Python. See https://docs.splunk.com/Documentation/Splunk/8.0.3/Python3Migration/ChangesEnterprise#Python_interpr....

Of course, changing a .conf file requires restarting Splunk for the change to take effect.

---
If this reply helps you, Karma would be appreciated.

dgriffioen
Engager

The app adds a new input form to Splunk under local inputs. Below is the error i`m getting.

"Unable to initialize modular input "appname" defined in the app "appname": Introspecting scheme=appApi: script running failed (exited with code 1).."

I tried adding python.version = python3 in inputs.conf, app.conf and props.conf but that does not fix it. Any idea how to fix this? or can it only be fixed by making the script compatible with python2?

0 Karma

isoutamo
SplunkTrust
SplunkTrust

Hi

Is your splunk version 7 or 8?

R. Ismo

0 Karma

dgriffioen
Engager

We use Splunk 8. If i add python3 in server.conf everything works fine but i dont want to force python3 for the whole server, just for the app.

0 Karma

isoutamo
SplunkTrust
SplunkTrust

Did this help?

If your script is specified with #! /usr/bin/env python, then python.version will be ignored for coldToFrozen. Also note that for warmToCold, this is always how the Python script is specified, so there is no applicable python.version for warmToCold.

So try to specify path to python3 on the shebang.

0 Karma
Get Updates on the Splunk Community!

Stay Connected: Your Guide to May Tech Talks, Office Hours, and Webinars!

Take a look below to explore our upcoming Community Office Hours, Tech Talks, and Webinars this month. This ...

They're back! Join the SplunkTrust and MVP at .conf24

With our highly anticipated annual conference, .conf, comes the fez-wearers you can trust! The SplunkTrust, as ...

Enterprise Security Content Update (ESCU) | New Releases

Last month, the Splunk Threat Research Team had two releases of new security content via the Enterprise ...