为什么我在 Windows 中编写的 Python 程序无法在 Linux 中运行?

为什么我在 Windows 中编写的 Python 程序无法在 Linux 中运行?

我在 Windows 中编写了一个 python 程序,然后使用 pyinstaller 将其制作成 .exe 文件。但是该 python 程序在 Linux 中无法运行。为什么?

答案1

你写的程序很可能将要在 Ubuntu 中可以运行,但由于 Linux 和 Windows 的 API 结构非常不同,因此您需要在 Linux 系统上的 Python 解释器中重新编译或运行该程序才能使其运行。Linux 通常无法识别 Windows.exe文件,但如果您安装了 Wine,您的系统可能会尝试将该程序当作 Windows 程序来运行,使用 Wine 来服务其系统调用——这甚至可能有效,具体取决于您的 pyinstaller 如何构造可执行文件。

答案2

正如其他答案中提到的,在编译之前尝试在 Python 解释器中运行。

可能需要更改一些代码。例如,如果您的原始程序包含:

INPUT_FNAME='\Documents\python_datain\today.csv

它必须改为:

INPUT_FNAME='~/Documents/python_datain/today.csv'

如果它是低级 Python 并且执行诸如在屏幕上移动鼠标、关闭弹出浏览器窗口以及调整屏幕亮度和色温等操作,则需要进行许多更改xdotoolxrandr并可能添加对的调用wmctrl

相关内容