#38666: Unable to successfully import lightblue after installation -----------------------------+----------------------------- Reporter: eroninjapan@… | Owner: michael.klein@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: py27-lightblue | -----------------------------+----------------------------- Comment (by sujitkrao@…): I'm having the same problem on 10.7.5, and looked a bit through the LightBlue source. The Python class _AsyncDeviceInquiry is a wrapper around the Objective-C class IOBluetoothDeviceInquiry and protocol IOBluetoothDeviceInquiryDelegate. It implements some, but not all, of the methods of IOBluetoothDeviceInquiryDelegate, and has a member variable instance IOBluetoothDeviceInquiry that it passes itself to on initialization. Before 10.7, IOBluetoothDeviceInquiryDelegate was an informal protocol, so all of the methods were optional. In 10.7 and later, IOBluetoothDeviceInquiryDelegate is a formal protocol with all of its methods explicitly declared optional, and it like PyObjC doesn't handle the optional methods correctly and throws an exception when not everything is implemented. I added the missing methods to _AsyncDeviceInquiry with empty implementations and it seemed to work: {{{ def deviceInquiryDeviceNameUpdated_device_devicesRemaining_(self, sender, device, devicesRemaining): pass def deviceInquiryUpdatingDeviceNamesStarted_devicesRemaining_(self, sender, devicesRemaining): pass }}} This is my first time messing with Objective-C and PyObjC, so the problem might actually be different, but I was able to import LightBlue after I added the methods. I haven't tested anything else. -- Ticket URL: <https://trac.macports.org/ticket/38666#comment:6> MacPorts <http://www.macports.org/> Ports system for OS X