Developing for Splunk Enterprise

can PYTHONPATH for splunk be expanded to point to another python lib directory?

dsollen
Explorer

I am converting a script that works in my local python to work with splunk and it fails due to missing python libraries that we had added to my lib. This sort of situation was already discussed here: https://answers.splunk.com/answers/8/can-i-add-python-modules-to-the-splunk-environment.html

However, one option which was never discussed as a solution, but seems easiest to me, is to update the PYTHONPATH to point to my local python's lib directory, either updating the enviroment variable directly or through some splunk configuration. So long as the python versions are the same, which they are in this case, I would think this would fix the problem, while ensuring that any future libs installed to my local python are immediately available to splunk scripts.

Is there a reason this is either impossible to do or not a good idea? I realize it may cause issues if a future splunk upgrade switches over to a new python version of course, though I think all of the suggested solutions in the above answer have similar issues in such a case, so I don't see this solution being any less flexible?

If there isn't a problem with doing this what is the easiest/cleanest way to update PYTHONPATH for splunk, is there a configuration file somewhere in splunk I can modify to do this?

0 Karma
1 Solution

Murali2888
Communicator
 import sys
 sys.path.append('LOCAL_PYTHON_PATH')

Add the above to your python script. I have few python scripts that uses local python libraries (redis). I was able to include the libraries with the above.

If this has resolved your problem, please accept it as answer.

View solution in original post

Murali2888
Communicator
 import sys
 sys.path.append('LOCAL_PYTHON_PATH')

Add the above to your python script. I have few python scripts that uses local python libraries (redis). I was able to include the libraries with the above.

If this has resolved your problem, please accept it as answer.

View solution in original post

Murali2888
Communicator

Can you try the below in your python script?

import sys
sys.path.append('LOCAL_PYTHON_PATH')

I have few python scripts that uses local python libraries (redis). I was able to include the libraries with the above.
Let me know how you go with this.

0 Karma

Murali2888
Communicator

If this has resolved your issue, can you accept it as answer and close it?

0 Karma

ppablo
Community Manager
Community Manager

Hi @Murali2888

Just so you know (since I've seen you mention this in other questions), users can't accept comments as answers. You have to actually post your official response in the "Enter your answer here..." field below if you want someone to accept your answer.

0 Karma

Murali2888
Communicator

Thanks ppablo. I will post the it in the answer section

0 Karma
Did you miss .conf21 Virtual?

Good news! The event's keynotes and many of its breakout sessions are now available online, and still totally FREE!