Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python程序(PyInstaller)的Exe在cmd提示符下运行良好,但在资源管理器中双击时崩溃_Python_Pyinstaller - Fatal编程技术网

Python程序(PyInstaller)的Exe在cmd提示符下运行良好,但在资源管理器中双击时崩溃

Python程序(PyInstaller)的Exe在cmd提示符下运行良好,但在资源管理器中双击时崩溃,python,pyinstaller,Python,Pyinstaller,我有一个Python脚本(Anaconda3/spyder4),在SpyderIDE中运行良好。使用PyInstaller,我生成一个.exe(单文件选项)。我可以从cmd提示符运行它,它也运行得很好。但是,如果我通过双击Windows资源管理器中的exe来运行它,它会开始正常运行(我可以指定输入文件并执行某些简单操作),但是,当它开始处理我的数据时,它会崩溃,不会出现任何错误消息。窗户不见了。我设法将问题缩小(使用print语句)到一个numpy调用(numpy.dot)。在到达此语句之前,其

我有一个Python脚本(Anaconda3/spyder4),在SpyderIDE中运行良好。使用PyInstaller,我生成一个.exe(单文件选项)。我可以从cmd提示符运行它,它也运行得很好。但是,如果我通过双击Windows资源管理器中的exe来运行它,它会开始正常运行(我可以指定输入文件并执行某些简单操作),但是,当它开始处理我的数据时,它会崩溃,不会出现任何错误消息。窗户不见了。我设法将问题缩小(使用print语句)到一个numpy调用(numpy.dot)。在到达此语句之前,其他numpy调用已经成功执行(numpy.array和numpy.zeros)。 我在PyInstaller警告日志中找不到任何可疑警告。我怀疑这与搜索路径有关,这取决于exe的启动方式,但我不知道如何:

  • 找出到底出了什么问题,以及(根本)原因可能是什么
  • 如何进一步解决这个问题 如有任何建议或(部分)解决方案,将不胜感激
尝试从父目录中的
cmd
运行文件。因此,如果是关于文件路径,您可以看到问题所在
python3 parent\u dir\myfile.py
感谢您的回复!如果我照你说的做,它会立即开始抱怨找不到.ui文件。(如果我从源目录本身执行此操作,它会工作)因此您发现了问题。您需要修改程序,使其不依赖于相对文件路径。但即使在崩溃版本(从资源管理器运行)中,也会找到numpy(因为numpy.array和numpy.zeros确实正确运行)。如何更改(numpy的)导入,使其使用绝对路径?(我确实使用了“资源路径”解决方案,例如ui文件和图标等,正如其他帖子中建议的那样)尝试从父目录中的
cmd
运行您的文件。因此,如果是关于文件路径,您可以看到问题所在
python3 parent\u dir\myfile.py
感谢您的回复!如果我照你说的做,它会立即开始抱怨找不到.ui文件。(如果我从源目录本身执行此操作,它会工作)因此您发现了问题。您需要修改程序,使其不依赖于相对文件路径。但即使在崩溃版本(从资源管理器运行)中,也会找到numpy(因为numpy.array和numpy.zeros确实正确运行)。如何更改(numpy的)导入,使其使用绝对路径?(我确实使用了“资源路径”解决方案,例如ui文件和图标等,正如其他帖子中推荐的那样)