GithubHelp home page GithubHelp logo

sayyid5416 / pyinstaller Goto Github PK

View Code? Open in Web Editor NEW
24.0 2.0 16.0 57 KB

Customisable GitHub Action to package python scripts into executables for different OS's

License: MIT License

Python 100.00%
github-actions pyinstaller linux mac windows python

pyinstaller's Issues

weird version.txt not found

Pls see aliencaocao/netease_cloudmusic_discord_rpc#4

TLDR: i specified to use version.txt in the same dir as the source file for the exe version info but pyinstaller complains it is not found, even though ls shows the file is there. I cannot reproduce this locally so I'm guess it has something to do with how this action works.

Node.js 16 actions are deprecated for some dependency actions

Hi,

I am seeing this warning in my actions builds:

Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/setup-python@v4, actions/checkout@v3, actions/upload-artifact@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.

Are you planning to use latest versions of these dependencies in future versions?

Also, action/upload-artifact@v4 cannot be used for any artifact uploaded with actions/upload-artifact@v3, it is in the breaking changes.

Thanks!

Incompatible Python versions causing TypeError: 'type' object is not subscriptable

The readme example is Python 3.6:
https://github.com/sayyid5416/pyinstaller/blame/454cc5f88cbfd6a1f7f5e6b9b96a0216be7f1720/README.md#L111

The code uses features introduced in Python 3.9:
https://github.com/sayyid5416/pyinstaller/blame/454cc5f88cbfd6a1f7f5e6b9b96a0216be7f1720/src/mods.py#L60

The discrepancy causes the following error:
"TypeError: 'type' object is not subscriptable"

The easy fix for the discrepancy would be to use Python >=3.9 in the example, or you may want to consider using different import options to make the code compatible.

Missing version.rc file for pyinstaller when using pyinstaller-versionfile

Hi

I'm using pyinstaller-versionfile in a prior to pyinstaller to generate the version.rc file. When the github action runs, the version.rc file is not present for pyinstaller.

What am I doing wrong?

Here is an example of my actions.yml file

name: CI

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

jobs:
  pyinstaller_build:
    runs-on: windows-latest
    outputs:
      version: ${{ steps.set_version.outputs.version }}
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      
      # Install dependencies
      - name: Setup Python
        uses: actions/setup-python@v2
        with:
          python-version: '3.11.7'
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install pyinstaller-versionfile

      # Add step to create version file before PyInstaller build
      - name: Create Version File
        run: create-version-file version_metadata.yml --outfile version.rc

      - name: LS version.rc (before pyinstaller)
        run: |
          ls ./
          mkdir test

      - name: Create Executable
        uses: sayyid5416/pyinstaller@v1
        with:
          python_ver: '3.11.7'
          pyinstaller_ver: '==6.3.0'
          spec: 'presenterfocus.py'
          requirements: 'requirements.txt'
          upload_exe_with_name: 'PresenterFocus'
          options: --onefile --windowed --icon "icon.png" --name "PresenterFocus"

      - name: LS version.rc (after pyinstaller)
        run: |
          ls ./
          # the version.rc and test dir are not present here

[ENHANCEMENT] Add --collect*

Hi there!

I wanted to know, would it be possible, or is it planned to add the option included in py installer namely the "--collect-all"?

It's very useful, especially for the pyGithub and plexAPI module for one of my projects, and when I add it it doesn't recognize it :)

macos Unsupported spec Error

Great work! I have this action that runs perfectly on windows-latest and ubuntu-latest, but fails to run on macos-latest with:
Run sayyid5416/pyinstaller@v1
with:
python_ver: 3.10
spec: ui.py
requirements: requirements.txt
upload_exe_with_name: s3backup
options: --onefile, --name "s3backup", --windowed
exe_path: ./dist
Run python "/Users/runner/work/_actions/sayyid5416/pyinstaller/v1/src/checks.py"
python "/Users/runner/work/_actions/sayyid5416/pyinstaller/v1/src/checks.py"
shell: /bin/bash --noprofile --norc -e -o pipefail {0}
env:
spec: ui.py
upload_exe_with_name: s3backup
File "/Users/runner/work/_actions/sayyid5416/pyinstaller/v1/src/checks.py", line 25
f"Unsupported input 'spec = {spec}' was provided. Supported types: {', '.join(supported_spec)}",
^
SyntaxError: invalid syntax

My action:
jobs:
pyinstaller-build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- name: Create Executable
uses: sayyid5416/pyinstaller@v1
with:
python_ver: '3.10'
spec: 'ui.py'
requirements: 'requirements.txt'
upload_exe_with_name: 's3backup'
options: --onefile, --name "s3backup", --windowed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.