I have just installed python (2.7.4) with brew on my macbook pro (10.7.5).
I also installed exiv2 and pyexiv2 with brew.
When I import pyexiv2 from the python interpreter, I got the following error :
Fatal Python error: Interpreter not initialized (version mismatch?)
What I should do to correct that (considering that I do not want to remove the brewed python as suggested in this thread:
How to install python library Gexiv2 on osx 10.6.8?)
Thanks a lot for any advice !
After much searching and looking at a few complicated solutions across the web, I found a simple method to solve this problem, in the Homebrew wiki itself!
Note that e.g. the boost bottle is built against system python and should be brewed from source to make it work with a brewed Python. This can even happen when both python executables are the same version (e.g. 2.7.2). The explanation is that Python packages with C-extensions (those that have .so files) are compiled against a certain python binary/library that may have been built with a different arch (e.g. Apple's python is still not a pure 64bit). Other things can go wrong, too. Welcome to the dirty underworld of C.
So first uninstall the dependency libraries and pyexiv2 itself with:
brew rm $(brew deps pyexiv2) brew rm pyexiv2
boost from source as indicated here:
brew install boost --build-from-source
Note: building boost might take time, so be patient, it took my system 27.9 mins! (output below)
usr/local/Cellar/boost/1.54.0: 9865 files, 568M, built in 27.9 minutes
Then reinstall pyexiv2 and dependencies:
brew install pyexiv2
That's it, now importing pyexiv2 should work flawlessly.