`briefcase dev` fails in Fedora 44 Kinoite Toolbox under Python 3.14
- Dominant language
- Python
- Stars
- 3.3k
- Forks
- 549
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 40
Description
### Describe the bug
Attempting to run `podium` from `main` with `briefcase dev` on a new Linux (Fedora Kinoite 44 Toolbox container) machine, the created virtual environment under `.briefcase` was missing its Python executables (full traceback shown below) when using Python 3.14.
This could be a compatibility issue with the toolbox image's Python 3.14 installation rather than one with 3.14 in general (switching to a `uv`-provided standalone build of Python 3.13 made the problem go away, but it's not clear if it's the "python build standalone" vs "Fedora dnf package" aspect that resolved the issue or the "Python 3.13" vs "Python 3.14" aspect).
### How to reproduce the bug
1. In a Fedora 44 Kinoite Toolbox container, install briefcase using the system Python 3.14 runtime (I tried this with both `python3 -m pip install --user briefcase` and `uv tool install briefcase`)
2. Run `briefcase dev` in a briefcase project (I used `podium`)
3. Get the exception shown below
### Minimum example code
```shell
```
### Screenshots
_No response_
### Environment details
- Operating system and version: Fedora 44 Kinoite Toolbox container
- Python version: 3.14 (system DNF package version)
- Software versions:
- Briefcase: 0.4.4
### Logs
```
⬢ [ancoghlan@toolbx podium]$ briefcase dev
Evaluating dynamic project metadata... done
[podium] Activating dev environment...
[podium] Starting in dev mode...
Log saved to /var/home/ancoghlan/devel/podium/logs/briefcase.2026_08_09-15_32_59.dev.log
Traceback (most recent call last):
File "/var/home/ancoghlan/.local/bin/briefcase", line 6, in
sys.exit(main())
~~~~^^
File "/var/home/ancoghlan/.local/lib/python3.14/site-packages/briefcase/__main__.py", line 27, in main
command(**options)
~~~~~~~^^^^^^^^^^^
File "/var/home/ancoghlan/.local/lib/python3.14/site-packages/briefcase/commands/dev.py", line 330, in __call__
return self.run_dev_app(
~~~~~~~~~~~~~~~~^
app,
^^^^
...<3 lines>...
**options,
^^^^^^^^^^
)
^
File "/var/home/ancoghlan/.local/lib/python3.14/site-packages/briefcase/commands/dev.py", line 167, in run_dev_app
app_popen = venv.Popen(
cmdline,
...<5 lines>...
bufsize=1,
)
File "/var/home/ancoghlan/.local/lib/python3.14/site-packages/briefcase/integrations/virtual_environment/base.py", line 172, in Popen
return self.tools.subprocess.Popen(args, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/var/home/ancoghlan/.local/lib/python3.14/site-packages/briefcase/integrations/subprocess.py", line 732, in Popen
return self._subprocess.Popen(
~~~~~~~~~~~~~~~~~~~~~~^
[str(arg) for arg in args], **self.final_kwargs(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/lib64/python3.14/subprocess.py", line 1039, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pass_fds, cwd, env,
^^^^^^^^^^^^^^^^^^^
...<5 lines>...
gid, gids, uid, umask,
^^^^^^^^^^^^^^^^^^^^^^
start_new_session, process_group)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.14/subprocess.py", line 1990, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/var/home/ancoghlan/devel/podium/.briefcase/podium/dev.cpython-314-x86_64-linux-gnu/bin/python'
```
### Additional context
_No response_
Contributor guide
Research direction
Reproduce `briefcase dev` in a Fedora 44 Kinoite Toolbox with the system Python 3.14, then start with `briefcase/commands/dev.py` and `briefcase/integrations/virtual_environment/base.py` from the traceback. Compare the virtual environment created under `.briefcase` with the expected Python executable path; done means the command no longer fails with the missing-executable error, or the incompatibility is clearly identified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- fedora, python
- Domain
- cli, operating-systems
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100