When a python module needs to load a dynamic shared object, it looks in the path provided by *LD_LIBRARY_PATH*(1), but guix doesn't modify this environment variable to export the needed path for python.
* Backtrace In my case, it's lightgbm (installed by pip), needs libgomp.so from gcc:lib for openmp support. Here is the backtrace: --8<---------------cut here---------------start------------->8--- Traceback (most recent call last): File "ex1.py", line 5, in <module> import lightgbm as lgb File "/home/fis/Workspace/tianchi/medical_treatment/lib/python3.5/site-packages/lightgbm/__init__.py", line 8, in <module> from .basic import Booster, Dataset File "/home/fis/Workspace/tianchi/medical_treatment/lib/python3.5/site-packages/lightgbm/basic.py", line 32, in <module> _LIB = _load_lib() File "/home/fis/Workspace/tianchi/medical_treatment/lib/python3.5/site-packages/lightgbm/basic.py", line 27, in _load_lib lib = ctypes.cdll.LoadLibrary(lib_path[0]) File "/gnu/store/jb3n0bsdpkhvyb8y70jyr8fcx8fqssr9-python-3.5.3/lib/python3.5/ctypes/__init__.py", line 425, in LoadLibrary return self._dlltype(name) File "/gnu/store/jb3n0bsdpkhvyb8y70jyr8fcx8fqssr9-python-3.5.3/lib/python3.5/ctypes/__init__.py", line 347, in __init__ self._handle = _dlopen(self._name, mode) OSError: libgomp.so.1: cannot open shared object file: No such file or directory --8<---------------cut here---------------end--------------->8--- * Reproduce To install lightgbm, simply use `pip install lightgbm`(in virtualenv). Then in python shell: import lightgbm as lgb * Ad-hoc export LD_LIBRARY_PATH=~/.guix-profile/lib:$LD_LIBRARY_PATH [1]: https://stackoverflow.com/a/1100016