我们有一个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"
您可以使用Docker
和Wine
的混合,首先在您的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
现在使用此设置,您应该能够从Jenkins
Linux服务器构建windows支持的Python可执行文件。