En mi libro de Mac (OS X 10.12.4) tengo dos libpng.16.16.dylib: uno /opt/X11/binpara el cual otoolinforma
/opt/X11/lib/libpng16.16.dylib:
/opt/X11/lib/libpng16.16.dylib (compatibility version 43.0.0, current version 43.0.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
y otro Users/me/anaconda/libcon la instalación de Python de Anaconda, para lo cual se otoolinforma
/Users/me/anaconda/lib/libpng16.16.dylib:
@rpath/libpng16.16.dylib (compatibility version 44.0.0, current version 44.0.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
En mi script de inicio, configuré DYLD_LIBRARY_PATHpara incluir /opt/X11/lib.
Ahora, cuando quiero import matplotlibdesde ipython3(de la distribución anaconda), recibo un error
ImportError: dlopen(/Users/walter1/anaconda/lib/python3.6/site-packages/matplotlib/_png.cpython-36m-darwin.so, 2): Library not loaded: @rpath/libpng16.16.dylib
Referenced from: /Users/walter1/anaconda/lib/python3.6/site-packages/matplotlib/_png.cpython-36m-darwin.so
Reason: Incompatible library version: _png.cpython-36m-darwin.so requires version 44.0.0 or later, but libpng16.16.dylib provides version 43.0.0
Entonces parece que dlopenintenta /opt/X11/lib/libpng.16.16.dylibmás que el que está debajo anaconda.
¿Hay alguna manera de evitar esto sin cambiar DYLD_LIBRARY_PATH? No puedo recordar por qué configuré DYLD_LIBRARY_PATHasí, pero ¿cuál sería el efecto de omitirlo /opt/X11/lib?
python
x11
dynamic-library
Walter
fuente
fuente
