Skip to content
Discussion options

You must be logged in to vote

Follow-up: confirmed working approach

Reporting back after (after some time) experimenting in building mutliple binaries, with cythonized source code with the onedir approach.

Short version: it works. Running a single Analysis and swapping a.scripts[-1] per entrypoint produces a valid onedir bundle where all executables share a single _internal/ directory.

Minimal snippet:

from copy import copy
from pathlib import Path

apps = [
    ('tool-a', 'app/tools/a.py'),
    ('tool-b', 'app/tools/b.py'),
    ('tool-c', 'app/tools/c.py'),
]

# Run Analysis once, on any entry script
a = Analysis(
    ['app/tools/a.py'],
    hiddenimports=hiddenimports,
    noarchive=True, # required, see later when …

Replies: 2 comments 3 replies

Comment options

You must be logged in to vote
3 replies
@claudious96
Comment options

@rokm
Comment options

rokm Dec 1, 2023
Maintainer

@claudious96
Comment options

Comment options

You must be logged in to vote
0 replies
Answer selected by claudious96
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Help
Labels
None yet
2 participants