beeware / beeware/briefcase

Allow apps packaged as native Linux system packages to use a non-default Python

Open
#1,976 12 comments 2 reactions 0 assignees View on GitHub
enhancement linux
Dominant language
Python
Stars
3.3k
Forks
549
Avg merge
1d 4h
Merged PRs (30d)
40

Description

### What is the problem or limitation you are having?

Currently, Briefcase enforces that apps packaged as native Linux system packages target the default Python for the distro. For instance, Ubuntu 22.04 symlinks Python 3.10 from `/usr/bin/python3`. However, most distros now allow side-by-side Python installations. So, on Ubuntu 22.04, Python3.11 can be installed; however, Briefcase's native Linux system packages cannot target non-default Python versions.

### Describe the solution you'd like

Add support to target non-default Python versions when packaging native Linux system packages.

### Describe alternatives you've considered

Status quo.

### Additional context

_No response_

Contributor guide

Open the contributing guide

Research direction

The issue names no files, tests, or entry points. Start by locating Briefcase's native Linux system-package backend and the logic that selects the distro's default Python; done means packaging can explicitly target an installed non-default Python version, such as Python 3.11 on Ubuntu 22.04.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.