James Hewitt <j...@caurinus.com> added the comment: Sure, it's at https://pastebin.com/L1RMPD7K
-James On 10/25/2018 12:30 PM, Stéphane Wirtel wrote: > > Stéphane Wirtel <steph...@wirtel.be> added the comment: > > Could you share a pastebin? Thank you > >> Le 25 oct. 2018 à 21:28, James Hewitt <rep...@bugs.python.org> a écrit : >> >> >> New submission from James Hewitt <j...@caurinus.com>: >> >> Having 'import logging.config' in an if statement in a function causes a >> namespace issue, despite the fact that the import is not reached. >> >> Example code: >> >> --- >> #!/usr/bin/env python3 >> >> # Test weird import bug >> >> import logging >> >> >> config = {} >> config['log'] = {} >> config['log']['log_type'] = 'file' >> config['log']['log_file'] = './log' >> config['log']['config'] = { 'version' : 1 } >> >> >> def do_config_logging(): >> if config['log']['log_type'] == 'from_config': >> import logging.config >> logging.config.dictConfig(config['log']['config']) >> elif config['log']['log_type'] == 'file': >> logging.basicConfig(filename=config['log']['log_file']) >> logging.info("start logging") >> >> >> if __name__ == "__main__": >> do_config_logging() >> >> --- >> >> >> This results in: >> >> Traceback (most recent call last): >> File "./bug.py", line 25, in <module> >> do_config_logging() >> File "./bug.py", line 20, in do_config_logging >> logging.basicConfig(filename=config['log']['log_file']) >> UnboundLocalError: local variable 'logging' referenced before assignment >> >> >> Notes: >> >> This was run on Ubuntu Linux 18.04 Intel 64-bit, Python version 3.6.6 >> >> The problem does not occur if the branch is actually taken, and it does not >> occur if the 'if' statement is not in a function. It also does not occur if >> 'logging.config' is imported as some other name, eg. 'configlogging'. >> >> virtualenv is installed (via the distribution package) but not in use in the >> test case. >> >> ---------- >> components: Library (Lib) >> messages: 328470 >> nosy: jhewitt >> priority: normal >> severity: normal >> status: open >> title: Unexecuted import in function causes UnboundLocalError >> type: behavior >> versions: Python 3.6 >> >> _______________________________________ >> Python tracker <rep...@bugs.python.org> >> <https://bugs.python.org/issue35069> >> _______________________________________ >> _______________________________________________ >> New-bugs-announce mailing list >> new-bugs-annou...@python.org >> https://mail.python.org/mailman/listinfo/new-bugs-announce > > ---------- > nosy: +matrixise > > _______________________________________ > Python tracker <rep...@bugs.python.org> > <https://bugs.python.org/issue35069> > _______________________________________ > ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue35069> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com