RuntimeError: Cannot find the MXNet library

RuntimeError: Cannot find the MXNet library

我想在我将 mxnet 与 pyinstaller 结合使用的地方为我的代码创建可执行文件。

我遇到了这个错误

File "mxnet/libinfo.py", line 74, in find_lib_path
RuntimeError: Cannot find the MXNet library.
List of candidates:
/home/rit/test/exe/dist/test/libmxnet.so
/home/rit/test/exe/dist/test/libmxnet.so
/home/rit/test/exe/dist/test/mxnet/libmxnet.so
/home/rit/test/exe/dist/test/mxnet/../../lib/libmxnet.so
/home/rit/test/exe/dist/test/mxnet/../../build/libmxnet.so

通过规范文件添加了 libmxnet.so 但给了我 PyInstallerImportError

通过 pip 卸载了 mxnet 并将 python3.5/dist-packages/mxnet 复制到我的项目面临同样的问题。

File "PyInstaller/loader/pyiboot01_bootstrap.py", line 151, in __init__
__main__.PyInstallerImportError: Failed to load dynlib/dll '/home/rit/test/exe/dist/test/libmxnet.so'. Most probably this dynlib/dll was not found when the application was frozen.

现在 dynlib/dll 是什么?如何解决这个错误?

谢谢

MXNet needs external binaries to be fed when you freeze it. You can use add-data 标志以将 libmxnet 文件添加到您的可执行文件中:

pyinstaller -F --add-data="<python_path>/lib/python3.7/site-packages/mxnet/*.so*:./mxnet" script.py