Skip to content
box

GitHub Action

PyInstaller ManyLinux 2.28 Docker Action

v2.3.1 Latest version

PyInstaller ManyLinux 2.28 Docker Action

box

PyInstaller ManyLinux 2.28 Docker Action

Run Pyinstaller on ManyLinux 2.28 (x86_64) AlmaLinux 8.7 based using Pyenv

Installation

Copy and paste the following snippet into your .yml file.

              

- name: PyInstaller ManyLinux 2.28 Docker Action

uses: oleksis/pyinstaller-manylinux@v2.3.1

Learn more about this action in oleksis/pyinstaller-manylinux

Choose a version

Test Build

pyinstaller-manylinux-2.28

PyInstaller ManyLinux 2.28 Docker Action based on AlmaLinux 8.7 (Stone Smilodon)"

This action run PyInstaller using docker image from pypa/manylinux repository

Inputs

pyinstaller-params

Required List of parameters for pyinstaller

Example usage

uses: oleksis/pyinstaller-manylinux@v2.3.0
with:
  pyinstaller-params: "['-c', '-F', '--icon=assets/image.ico', '--exclude-module=test', '--name=app-binary', 'app_module/__main__.py']"

See more in test.yml

How to use the Dockerfile

  • Build the image pyinstaller-manylinux-2.28
docker build -t pyinstaller-manylinux-2.28 -f ./Dockerfile .
  • Create bundle app using pyinstaller in the docker image
docker run --name pyinstaller-manylinux-2.28 \
            -it -d \
            --workdir /src \
            -v $(pwd):/src \
            pyinstaller-manylinux-2.28 \
            -c -F --name=app tests/app.py
  • View the logs in the docker container
docker logs --tail 1000 -f pyinstaller-manylinux-2.28
  • New container with interactive terminal typing using bash
docker run --name pyinstaller-pyenv \
            -it \
            --entrypoint bash \
            --workdir /src \
            -v $(pwd):/src \
            pyinstaller-manylinux-2.28
  • Start the new container using interactive bash
docker start -i pyinstaller-pyenv

[root@882bd364e3fe src]# pyenv versions
* 3.10.10 (set by /root/.pyenv/version)
  • Run the app in the local machine
./dist/app
Hello out there 👋

How to use Github Container Registry

Github Packages

Notes

  1. This action can execute setup.sh if it exists in the repository, before installing the requirements (requirements.txt)
  2. 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 .

Releases

PyInstaller ManyLinux 2.28 Docker Action v2.3.0

PyInstaller ManyLinux 2.28 Docker Action v2.2.1

PyInstaller ManyLinux 2.24 Docker Action v2.1.2

PyInstaller ManyLinux 2014 Docker Action v1.0.0