VisionSystemsInc / VisionSystemsInc/vsi_common

Pyinstaller pattern

Open
#411 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Shell
Stars
8
Forks
9
Avg merge
36m
Merged PRs (30d)
1

Description

The current pyinstaller pattern is not going to work. Trying to follow similar patterns such as make self will not result in a useful portable pyinstaller executable, because it can rely on the python in a docker image, which itself, will not be portable.

Using a dedicated default image for pyinstaller, will not work, because there is too much potential for it to be incompatible with the running image for a project, so this will not solve anything else.

The correct solution would be to add docker command to the end of a docker image, to say, install a potable version of python (using anaconda again). This should be relatively straight forward, using

ARG OS
FROM ${OS}
... check python version, install miniconda closest to it
... setup pyinstaller 

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Locate the current pyinstaller pattern and the related make self workflow, then inspect how the Docker image's Python is used. The work is done when the image installs a portable Python version compatible with the project and produces a portable PyInstaller executable without relying on the build image's Python.

Written by the indexing model from the issue text.

Assessment

Tech stack
anaconda, docker, python
Domain
build-system, devops, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.