Bad value substitution Error when starting shotgunEvents

I am getting the following error when Starting shotgunEvents:

./ foreground

Traceback (most recent call last):
File “./”, line 1418, in
File “./”, line 1377, in main
daemon = LinuxDaemon()
File “./”, line 1339, in init
self._engine = Engine(_getConfigPath())
File “./”, line 280, in init
File “./”, line 158, in getShotgunURL
return self.get(“shotgun”, “server”)
File “/usr/lib/python2.7/”, line 623, in get
return self._interpolate(section, option, value, d)
File “/usr/lib/python2.7/”, line 691, in _interpolate
self._interpolate_some(option, L, rawval, section, vars, 1)
File “/usr/lib/python2.7/”, line 723, in _interpolate_some
option, section, rest, var)
ConfigParser.InterpolationMissingOptionError: Bad value substitution:
section: [shotgun]
option : server
key : sg_ed_site_url
rawval :


Welcome to the community @mbk! Have you modified your shotgunEventDaemon.conf to have your site specific info (URL, script name/key to connect)? Judging by the error it’s not finding those variables to make the connection.

1 Like

Thanks for the quick response Brandon.

I updated the shotgunEventDaemon.conf and have bypassed that error. now Im getting "no module named shotgun_api3.

sudo ./ foreground
Traceback (most recent call last):
File “./”, line 59, in
import shotgun_api3 as sg
ImportError: No module named shotgun_api3

The virtual env in shotgun is using the sg-jira-bridge/trigger/requirement.txt. I have also verified that shotgun_api3 is under site packages in venv thus the module is downloaded also confirmed that with pycharm


It seems like the shotgun_api3 module isn’t in your path when you’re starting up the daemon. If you start a shell in the same environment that the daemon is launching in, you should be able to test if you can import the module. If it’s unsuccessful, then you may need to re-examine how that particular environment is constructed.

Something you could try is to add a code.interact line in the daemon near the beginning:

import code
code.interact(local=dict(globals(), **locals()))

which will kick you to a shell when you run the daemon; you can then try to load the module and examine your env.


I was unable to import the it. For now I have installed the api module in my machine environment rather than venv and it has resolved the error


Glad you’ve got it resolved for now!