PyInstaller ManyLinux 2.24 Docker Action
This action run PyInstaller using docker image from pypa/manylinux repository
pyinstaller-params
Required List of parameters for pyinstaller
uses: oleksis/pyinstaller-manylinux@v2.1.2
with:
pyinstaller-params: "['-c', '-F', '--icon=assets/image.ico', '--exclude-module=test', '--name=app-binary', 'app_module/__main__.py']"
See more in test.yml
- Build the image pyinstaller-manylinux
docker build -t pyinstaller-manylinux -f ./Dockerfile .
- Create bundle app using pyinstaller in the docker image
docker run --name pyinstaller-manylinux \
-it -d \
--workdir /src \
-v $(pwd):/src \
pyinstaller-manylinux \
-c -F --name=app tests/app.py
- View the logs in the docker container
docker logs --tail 1000 -f pyinstaller-manylinux
- New container with interactive terminal typing using bash
docker run --name pyinstaller-pyenv \
-it \
--entrypoint bash \
--workdir /src \
-v $(pwd):/src \
pyinstaller-manylinux
- Start the new container using interactive bash
docker start -i pyinstaller-pyenv
root@2ec766053649:/src# pyenv versions
system
* 3.6.15 (set by /root/.pyenv/version)
- Run the app in the local machine
./dist/app
Hello out there 👋
- This action can execute
setup.sh
if it exists in the repository, before installing the requirements (requirements.txt
) - Use pyenv in ManyLinux to have Python builded with
--enable-shared
. Some project we need add crypto binary library using PyInstaller--add-binary libcryt.so.2:.
cp /usr/local/lib/libcrypt.so.2 .