【发布时间】:2018-11-13 17:27:04
【问题描述】:
我一直在尝试创建一个简单的 .exe 文件来接收参数并返回我的网络的输出,以替代使用 C++ 包装器。
我使用 pyinstaller 是因为它在过去对我来说效果更好。
现在我只使用导入构建一个 .py 文件,但我已经收到以下错误:
RuntimeError: Cannot find the MXNet library.
List of candidates:
C:\Users\<user>\AppData\Local\Temp\_MEI52802\mxnet\libmxnet.dll
...
我的imports.py
import time
import numpy as np
import mxnet as mx
from mxnet import gluon, autograd, nd
from mxnet.gluon import nn, rnn
import string
import cv2
import glob
import time
import model
我的尝试:
- 在python 3.6/3.5/3.4中使用pyinstaller;
- 编辑 .spec 并将缺少的 dll 添加到二进制文件列表中;
- 将 mxnet 添加为隐藏导入。
问候。
【问题讨论】:
-
我猜在 python 中你实际上使用绑定到 MXNet 提供的 dll。这个库真的安装了吗?运行 PyInstaller 后,您是否在输出文件夹中看到此 dll?你也可以试试像 Sysinternals ProcMon 这样的工具,看看 python 解释器在哪里寻找这个 dll。
-
它已安装,尽管我在 pyinstaller 输出构建文件夹中找不到它。我没有尝试查看它在哪里寻找它,因为错误告诉我它正试图在临时文件夹中找到它。绑定是一种可能性,我不知道 pyinstaller 会如何响应,这可能是使用 mxnet 的一种复杂方法。感谢您的想法。
-
你能解决这个问题吗?
标签: python exe pyinstaller mxnet