我有一个用python编写的软件,我正在尝试将它打包到一个可执行文件中。其中一个模块有问题,我找不到关于它的任何信息: nidaqmx。
在运行标准的pyinstaller之后,例如。
pyinstaller myprogram.py构建成功完成,但是在警告文件中它注意到缺少nidaqmx。然后,在运行可执行文件时,我得到以下内容:
File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
File "nidaqmx\__init__.py", line 11, in <module>
File "importlib\metadata.py", line 530, in version
File "importlib\metadata.py", line 503, in distribution
File "importlib\metadata.py", line 177, in from_name
importlib.metadata.PackageNotFoundError: nidaqmx我还注意到,站点包中的nidaqmx文件夹没有被复制。我尝试过的事情:
添加了一个挂钩路径。
不知道从这里往哪里走。谢谢你的建议。
发布于 2022-03-17 10:53:49
我解析了nidaqmx/__init__.py中的几行注释,并设法使可执行文件正确运行。
from nidaqmx.errors import DaqError, DaqWarning, DaqResourceWarning
from nidaqmx.scale import Scale
from nidaqmx.task import Task
from nidaqmx._task_modules.read_functions import CtrFreq, CtrTick, CtrTime
# try:
# from importlib.metadata import version
# except ImportError:
# from importlib_metadata import version
# __version__ = version(__name__)
__all__ = ['errors', 'scale', 'stream_readers', 'stream_writers', 'task']发布于 2022-08-31 15:30:18
如果不想编辑nidaqmx的源代码,可以将--copy-metadata参数添加到PyInstaller命令中,如下所示:
pyinstaller --copy-metadata nidaqmxhttps://stackoverflow.com/questions/71226142
复制相似问题