jimkring / nuitka-manylinux

Run Nuitka on ManyLinux 2.24

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Test

pyinstaller-manylinux

PyInstaller ManyLinux 2.24 Docker Action

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.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

How to use the Dockerfile

  • 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 👋

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 .

About

Run Nuitka on ManyLinux 2.24

License:MIT License


Languages

Language:Dockerfile 65.2%Language:Shell 30.3%Language:Python 4.5%