当前位置: 首页 > 知识库问答 >
问题:

pyinstaller生成oct2py导入的可执行文件错误

南宫凡
2023-03-14

我试图使一个python可执行文件使用oct2py来评估一个. m文件。python脚本独立运行良好。我已经成功地使用pyInster制作了一个可执行文件(使用--onefile,在构建它时没有错误),但是当我运行这个可执行文件时,我得到了以下错误,可执行文件退出了:

C:\Users\Jason\Desktop\Oct2Py test>readFolder.exe
error: '_pyeval' undefined near line 1 column 1
Traceback (most recent call last):
  File "site-packages\scipy\io\matlab\mio.py", line 33, in _open_file
FileNotFoundError: [Errno 2] No such file or directory: 'C:/Users/Jason/AppData/Local/Temp/tmpbn8aefsj/reader.mat'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "readFolder.py", line 8, in <module>
    octave.eval('pkg load io')
  File "site-packages\oct2py\core.py", line 484, in eval
  File "site-packages\oct2py\core.py", line 369, in feval
  File "site-packages\oct2py\core.py", line 565, in _feval
  File "site-packages\oct2py\io.py", line 28, in read_file
  File "site-packages\scipy\io\matlab\mio.py", line 141, in loadmat
  File "site-packages\scipy\io\matlab\mio.py", line 64, in mat_reader_factory
  File "site-packages\scipy\io\matlab\mio.py", line 39, in _open_file
FileNotFoundError: [Errno 2] No such file or directory: 'C:/Users/Jason/AppData/Local/Temp/tmpbn8aefsj/reader.mat'
[1456] Failed to execute script readFolder

看来这个问题是第一次出现在“百万富翁”身上。py’,但我不知道它在哪里寻找‘阅读器’。垫子'。我认为“读者”。mat'是由oct2py创建的某种临时文件。

只是为了确保python脚本正确运行并计算引用的整个oct2py。m文件正确。

谢啦

python 3.7,pyInster 3.5开发,oct2py 4.0.6。

共有1个答案

李昱
2023-03-14

有同样的问题,从这里得到了答案:https://github.com/blink1073/oct2py/issues/144

解决方案似乎是将一个临时文件夹作为参数传递给oct2py。

import oct2py
os.makedirs(temp_folder, exist_ok=True)
octave = oct2py.Oct2Py(temp_dir=temp_folder)
 类似资料:
  • 我试图分发我创建的Python程序的可执行文件。为此,我使用PyInstaller。 我将Windows7 Professional与Python3.7结合使用。该程序在PyCharm中成功运行,并产生预期结果。 如PyInstaller手册中所述,我创建了dist文件夹: 日志输出指定进程已成功完成。 尝试运行从分发文件夹中,产生以下错误:

  • 我已经能够使用pyInstaller从Python 3.4代码成功地生成Windows可执行文件。 但是,每次运行可执行文件(控制台应用程序)时,它都会在代码启动前输出以下内容: 我假设这是pyInstaller引导加载程序过程,如下所述。我想知道是否有一种方法可以抑制这个输出,而不抑制我自己的Python代码生成的输出? 附加信息: 生成单个可执行文件(使用选项) 运行在Windows 7 En

  • 问题内容: 为了创建可执行文件(Windows),我假设我们应该使用其中之一:Py2exe或PyInstaller。 它们之间有什么区别? 问题答案: Py2exe和PyInstaller都是包装器,但是我注意到了一些区别, Py2exe与python2.4 +兼容,包括python3.0和3.1,而PyInstaller当前与python 2.7和3.3–3.5兼容 据我所知,Py2exe不支持

  • 我想使用pyInstaller的单文件夹模式,但我不想每次都收集所有依赖项。 大多数情况下,我可以重用它以前打包的所有依赖项,我只需要可执行文件,我想如果我能在构建过程中尽快停止,我会在构建过程中节省10~20分钟。exe文件已生成。 我知道用-F标志将所有依赖项打包到一个可执行文件中,但这不是我想要的。我只希望pyInstaller在打包步骤之前停止。 我希望生成在可能输出时立即停止:

  • 问题内容: 我只有一行用python编写的代码,并带有pyinstaller和option 。exe文件为4577 kB,几乎是5Mb。如何减小其大小或排除某些自动捆绑的图书馆? 问题答案: 您使用pyinstaller创建的.exe文件包括python解释器和脚本中包含的所有模块。也许您正在使用的模块本身都有一个很大的库。但是,您可以尝试使用 py2exe, 但它可能不适用于所有项目。另一种缩小

  • 我试着做一个*。使用pyqtgraph的python应用程序中的exe文件和使用pyinstaller的pyqt库。Pyinstaller生成单个*。exe文件没有错误,但当我尝试启动它时,我得到一个未找到pyqtgraph的错误。 如何构建单个*。使用pyinstaller的exe文件?