Pyinstaller-从Linux将python转换为exe

Pyinstaller-从Linux将python转换为exe,python,windows,exe,pyinstaller,Python,Windows,Exe,Pyinstaller,我想从Linux Ubuntu中将一个.py文件转换为.exe。我找到了这个的pyinstaller。但当pyinstaller从Linux运行时,它会使文件仅在Linux下可执行;当pyinstaller从Windows运行时,它会使.exe文件在Windows下可执行。我想从Linux for Windows转换.exe文件。那我怎么才能做到呢?我需要指示 p.S:如果我无法使用pyinstaller,请编写其他工具。如果您知道如何使用Docker,这可能是一种非常简单的方法。相关的dock

我想从Linux Ubuntu中将一个
.py
文件转换为
.exe
。我找到了这个的pyinstaller。但当pyinstaller从Linux运行时,它会使文件仅在Linux下可执行;当pyinstaller从Windows运行时,它会使.exe文件在Windows下可执行。我想从Linux for Windows转换.exe文件。那我怎么才能做到呢?我需要指示


p.S:如果我无法使用pyinstaller,请编写其他工具。

如果您知道如何使用Docker,这可能是一种非常简单的方法。相关的docker图像

从文件中可以看出:

有两个容器,一个用于Linux,另一个用于Windows构建。 Windows builder在Ubuntu中运行Wine,以模拟Ubuntu中的Windows 码头工人

要构建应用程序,您需要将源代码装载到
/src/

源代码目录中应该有安装程序提供的
.spec
文件 产生。如果没有,则需要运行PyInstaller一次 在本地生成它

如果src文件夹有一个
requirements.txt
文件,则包将 在PyInstaller运行之前安装到环境中

例如,在包含源代码的文件夹中,
.spec
文件和
requirements.txt

docker run -v "$(pwd):/src/" cdrx/pyinstaller-windows 
将建立您的 PyInstaller项目进入
dist/windows/
.exe
文件将具有 与
.spec
文件同名

docker run -v "$(pwd):/src/" cdrx/pyinstaller-linux 
将PyInstaller项目构建到
dist/linux/
中。二进制文件将具有相同的 命名为您的
.spec
文件

docker run -v "$(pwd):/src/" cdrx/pyinstaller-linux 

可能是@Lodi的重复问题没有完全回答是的,是的。它说,您需要使用一个工具在linux中虚拟地使用windows。没有其他方法了看看这里,这篇文章教你如何做到这一点