如何从Jenkins Linux服务器构建windows支持的Python exe文件



我们有一个linux jenkins服务器用于构建准备。我们需要通过这个jenkins创建一个windows支持的python可执行构建。这怎么可能呢

我试过用下面的酒

wine python-3.8.7.exe
wine /usr/bin/pip install -r requirements.txt
wine /usr/bin/pyinstaller --onefile --name=myapp main.py

但是会触发以下错误

wine: cannot find L"C:\windows\system32\python-3.8.7.exe"

您可以使用DockerWine的混合,首先在您的Jenkins服务器https://docs.docker.com/engine/install/上安装Docker,然后在您的项目目录中创建Dockerfile,其中包含:

FROM ubuntu:latest
RUN dpkg --add-architecture i386 && 
apt-get update && 
apt-get install -y --no-install-recommends wine32 python3-pip && 
rm -rf /var/lib/apt/lists/*
COPY . /app
WORKDIR /app
RUN wine python -m pip install --upgrade pip && 
wine pip install -r requirements.txt && 
wine pip install pyinstaller
ENTRYPOINT [ "wine", "pyinstaller", "--onefile", "--name=myapp", "main.py" ]

包含我们需要的内容,然后构建docker build -t myapp-builder .,然后运行Docker创建Python可执行文件docker run --rm -v $(pwd):/app myapp-builder

现在使用此设置,您应该能够从JenkinsLinux服务器构建windows支持的Python可执行文件。