This bug was fixed in the package pygobject - 3.12.0-1ubuntu1 --------------- pygobject (3.12.0-1ubuntu1) trusty-proposed; urgency=medium
* Add 00upstream-importerror-logging.patch: Raise ImportError when importing modules not found in repository, instead of logging to stderr. The former matches the behaviour of "import" in general, and the latter breaks the possibility of configuring "logging" in your program, as any call to basicConfig() would happen after the import statements. (LP: #1333512) -- Martin Pitt <martin.p...@ubuntu.com> Wed, 25 Jun 2014 08:14:43 +0200 ** Changed in: pygobject (Ubuntu Trusty) Status: Fix Committed => Fix Released -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to pygobject in Ubuntu. https://bugs.launchpad.net/bugs/1333512 Title: Failing to import module breaks logging configurability and adds noise Status in Python bindings for GObject: Fix Released Status in “pygobject” package in Ubuntu: Fix Released Status in “pygobject” source package in Trusty: Fix Released Status in “pygobject” source package in Utopic: Fix Released Bug description: When failing to import a module the gi.repository import.py module logs an error with `logging.error(..)` causing a logging handler to be added. This basically breaks the ability to configure the logging as it happens so early (i.e. at the import stage before an authors code is executed). To reproduce/Example: Run this script: http://pastebin.ubuntu.com/7698632/ Expected outcome: No output to stdout or stderr and the text "log message" in the file "/tmp/example.log Actual outcome: No log file, and this text output to stderr: ERROR:root:Could not find any typelib for rubbish ERROR:root:log message Upstream fix: https://git.gnome.org/browse/pygobject/commit/?id=ac8b59e Regression potential: - The behaviour of raising ImportError on a nonexisting name does not change, but its text changes. Old: ImportError: cannot import name 'foo' New: ImportError: cannot import name foo, introspection typelib not found It's unlikely, however theoretically possible that a program matches on the precise error message. - It's theoretically possible that a program watches for the logged error message and ignores the ImportError. However, that would be extremely bad design, un-Pythonic and brittle as the logging format/destination can be changed arbitrarily. In summary the regression potential is very low. Ubuntu Version: Description: Ubuntu 14.04 LTS Release: 14.04 Package Version: python3-gi 3.12.0-1 To manage notifications about this bug go to: https://bugs.launchpad.net/pygobject/+bug/1333512/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp