Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot run built executable. TypeError: 'str' object cannot be interpreted as an integer #2123

Closed
fedelibre opened this issue Jan 19, 2025 · 4 comments
Labels
bug A crash or error in behavior.

Comments

@fedelibre
Copy link

Describe the bug

The executable created by briefcase cannot be run.
I see the following error:

Exception ignored on threading shutdown:
TypeError: 'str' object cannot be interpreted as an integer

Steps to reproduce

  1. Download the branch of this PR
  2. Run briefcase create, cp CHANGELOG.md CHANGELOG, briefcase build
  3. Run briefcase run
  4. See error

Expected behavior

The application should run.

Screenshots

No response

Environment

  • Operating System: Linux (Fedora 41)
  • Python version: 3.13.1
  • Software versions:
    • Briefcase: 0.3.20

Logs

Date/Time:       2025-01-19 22:35:48 
Command line:    /var/home/fede/.local/bin/briefcase run

OS Release:      Linux 6.12.8-200.fc41.x86_64
OS Version:      #1 SMP PREEMPT_DYNAMIC Thu Jan  2 19:26:03 UTC 2025
Architecture:    x86_64
Platform:        Linux-6.12.8-200.fc41.x86_64-x86_64-with-glibc2.40

Python exe:      /usr/bin/python
Python version:  3.13.1 (main, Dec  9 2024, 00:00:00) [GCC 14.2.1 20240912 (Red Hat 14.2.1-3)]
Virtual env:     False
Conda env:       False

Briefcase:       0.3.20
Target platform: linux
Target format:   system

Environment Variables:
	COLORTERM=truecolor
	DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
	DEBUGINFOD_URLS=https://debuginfod.fedoraproject.org/ 
	DESKTOP_SESSION=gnome
	DISPLAY=:0
	EDITOR=/usr/bin/nano
	GPG_TTY=/dev/pts/0
	HISTCONTROL=ignoredups
	HISTSIZE=1000
	HOME=/var/home/fede
	HOSTNAME=fedora
	LANG=it_IT.UTF-8
	LESSOPEN=||/usr/bin/lesspipe.sh %s
	LILYPOND_BIN=/var/home/fede/.local/lilypond/lilypond-2.24.3/bin/lilypond
	LOGNAME=fede
	LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;37;41:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.7z=01;31:*.ace=01;31:*.alz=01;31:*.apk=01;31:*.arc=01;31:*.arj=01;31:*.bz=01;31:*.bz2=01;31:*.cab=01;31:*.cpio=01;31:*.crate=01;31:*.deb=01;31:*.drpm=01;31:*.dwm=01;31:*.dz=01;31:*.ear=01;31:*.egg=01;31:*.esd=01;31:*.gz=01;31:*.jar=01;31:*.lha=01;31:*.lrz=01;31:*.lz=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.lzo=01;31:*.pyz=01;31:*.rar=01;31:*.rpm=01;31:*.rz=01;31:*.sar=01;31:*.swm=01;31:*.t7z=01;31:*.tar=01;31:*.taz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tgz=01;31:*.tlz=01;31:*.txz=01;31:*.tz=01;31:*.tzo=01;31:*.tzst=01;31:*.udeb=01;31:*.war=01;31:*.whl=01;31:*.wim=01;31:*.xz=01;31:*.z=01;31:*.zip=01;31:*.zoo=01;31:*.zst=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.m4a=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.oga=01;36:*.opus=01;36:*.spx=01;36:*.xspf=01;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:
	MAIL=/var/spool/mail/fede
	MUTOPIA_BASE=/var/home/fede/src/Mutopia/MutopiaWeb
	PATH=/var/home/fede/.local/lilypond/lilypond-2.25.19/bin:/var/home/fede/.local/texlive/2024/bin/x86_64-linux:/var/home/fede/.local/bin:/var/home/fede/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
	PWD=/var/home/fede/src/frescobaldi/frescobaldi
	SHELL=/bin/bash
	SHLVL=1
	SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
	TERM=xterm-256color
	TOOLBOX_PATH=/usr/bin/toolbox
	USER=fede
	VTE_VERSION=7800
	WAYLAND_DISPLAY=wayland-0
	XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.PY3H02
	XDG_CURRENT_DESKTOP=GNOME
	XDG_DATA_DIRS=/var/home/fede/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share/:/usr/share/
	XDG_MENU_PREFIX=gnome-
	XDG_RUNTIME_DIR=/run/user/1000
	XDG_SESSION_CLASS=user
	XDG_SESSION_DESKTOP=gnome
	XDG_SESSION_TYPE=wayland
	_=/var/home/fede/.local/bin/briefcase
	container=oci

pyproject.toml:
[build-system]
requires = ["setuptools >= 67"]
build-backend = "setuptools.build_meta"

[project]
name = "frescobaldi"
description = "LilyPond Music Editor"
authors = [{name = "Wilbert Berendsen", email = "[email protected]"}]
maintainers = [{name = "Wilbert Berendsen", email = "[email protected]"}]
license = {text = "GPL"}
requires-python = ">=3.8"
dependencies = ["pyqt6>=6.6", "python-ly >= 0.9.5", "qpageview>=1.0.0"]
dynamic = ["version"]
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Environment :: MacOS X",
    "Environment :: Win32 (MS Windows)",
    "Environment :: X11 Applications :: Qt",
    "Intended Audience :: End Users/Desktop",
    "License :: OSI Approved :: GNU General Public License (GPL)",
    # Natural Language :: Chinese (Hong Kong) is not yet accepted by pypi
    #"Natural Language :: Chinese (Hong Kong)",
    "Natural Language :: Chinese (Simplified)",
    "Natural Language :: Chinese (Traditional)",
    "Natural Language :: Czech",
    "Natural Language :: Dutch",
    "Natural Language :: English",
    "Natural Language :: French",
    "Natural Language :: Galician",
    "Natural Language :: German",
    "Natural Language :: Italian",
    "Natural Language :: Japanese",
    "Natural Language :: Korean",
    "Natural Language :: Polish",
    "Natural Language :: Portuguese (Brazilian)",
    "Natural Language :: Russian",
    "Natural Language :: Spanish",
    "Natural Language :: Turkish",
    "Natural Language :: Ukrainian",
    "Operating System :: MacOS :: MacOS X",
    "Operating System :: Microsoft :: Windows",
    "Operating System :: POSIX",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Topic :: Multimedia :: Sound/Audio",
    "Topic :: Multimedia :: Graphics",
    "Topic :: Text Editors",
]

[project.readme]
# Shorter version of the main README.md, for PyPI (also in appinfo.py).
text = """Frescobaldi is an advanced text editor to edit LilyPond sheet
music files. Features include an integrated PDF preview and a powerful Score Wizard."""
content-type = "text/plain"

[project.urls]
Homepage = "https://frescobaldi.org"
Repository = "https://github.com/frescobaldi/frescobaldi"

[project.scripts]
frescobaldi = "frescobaldi_app.__main__:main"

[tool.setuptools.packages.find]
where = ["."]
include = ["frescobaldi_app*"]

[tool.setuptools.dynamic.version]
attr = "frescobaldi_app.appinfo.version"

[tool.briefcase]
project_name = "Frescobaldi"
bundle = "com.frescobaldi"
version = "4.0.0"
requires = [
    "PyQt6==6.8.0",
    "PyQt6-Qt6==6.8.1",
    "PyQt6-sip==13.9.1",
    "PyQt6-WebEngine==6.8.0",
    "PyQt6-WebEngine-Qt6==6.8.1",
    "python-ly==0.9.9",
    "qpageview==1.0.0",
    "pygame==2.6.1"
]

[tool.briefcase.app.frescobaldi]
formal_name = "Frescobaldi"
description = "Write LilyPond music sheets"
sources = ['frescobaldi', 'frescobaldi_app']

[tool.briefcase.app.frescobaldi.document_type.ly]
description = "LilyPond files"
extension = "ly"
icon = "frescobaldi_app/icons/org.frescobaldi.Frescobaldi"
url = "https://lilypond.org/"

[tool.briefcase.app.frescobaldi.document_type.ily]
description = "LilyPond included files"
extension = "ily"
icon = "frescobaldi_app/icons/org.frescobaldi.Frescobaldi"
url = "https://lilypond.org/"

[tool.briefcase.app.frescobaldi.macOS]
icon = "macos/icons/frescobaldi"

[tool.briefcase.app.frescobaldi.windows]
icon = "frescobaldi_app/icons/frescobaldi"
use_full_install_path = false

Briefcase Log:
[22:35:47]                                                                                                                                                             system.py:133
           [frescobaldi] Finalizing application configuration...                                                                                                       system.py:133
           Targeting fedora:41 (Vendor base rhel)                                                                                                                      system.py:143
           Determining glibc version... started                                                                                                                        system.py:201
           Determining glibc version... done                                                                                                                           system.py:201
           Targeting glibc 2.40                                                                                                                                        system.py:203
           Targeting Python3.13                                                                                                                                        system.py:207
                                                                                                                                                                   subprocess.py:827
           >>> Running Command:                                                                                                                                    subprocess.py:827
           >>>     rpm -q python3-devel                                                                                                                            subprocess.py:827
           >>> Working Directory:                                                                                                                                  subprocess.py:827
           >>>     /var/home/fede/src/frescobaldi/frescobaldi                                                                                                      subprocess.py:827
           >>> Command Output:                                                                                                                                     subprocess.py:827
           >>>     python3-devel-3.13.1-2.fc41.x86_64                                                                                                              subprocess.py:827
           >>> Return code: 0                                                                                                                                      subprocess.py:827
                                                                                                                                                                   subprocess.py:827
           >>> Running Command:                                                                                                                                    subprocess.py:827
           >>>     rpm -q gcc                                                                                                                                      subprocess.py:827
           >>> Working Directory:                                                                                                                                  subprocess.py:827
           >>>     /var/home/fede/src/frescobaldi/frescobaldi                                                                                                      subprocess.py:827
           >>> Command Output:                                                                                                                                     subprocess.py:827
           >>>     gcc-14.2.1-7.fc41.x86_64                                                                                                                        subprocess.py:827
           >>> Return code: 0                                                                                                                                      subprocess.py:827
                                                                                                                                                                   subprocess.py:827
           >>> Running Command:                                                                                                                                    subprocess.py:827
           >>>     rpm -q make                                                                                                                                     subprocess.py:827
           >>> Working Directory:                                                                                                                                  subprocess.py:827
           >>>     /var/home/fede/src/frescobaldi/frescobaldi                                                                                                      subprocess.py:827
           >>> Command Output:                                                                                                                                     subprocess.py:827
           >>>     make-4.4.1-8.fc41.x86_64                                                                                                                        subprocess.py:827
           >>> Return code: 0                                                                                                                                      subprocess.py:827
                                                                                                                                                                   subprocess.py:827
           >>> Running Command:                                                                                                                                    subprocess.py:827
           >>>     rpm -q pkgconf-pkg-config                                                                                                                       subprocess.py:827
           >>> Working Directory:                                                                                                                                  subprocess.py:827
           >>>     /var/home/fede/src/frescobaldi/frescobaldi                                                                                                      subprocess.py:827
           >>> Command Output:                                                                                                                                     subprocess.py:827
           >>>     pkgconf-pkg-config-2.3.0-1.fc41.x86_64                                                                                                          subprocess.py:827
           >>> Return code: 0                                                                                                                                      subprocess.py:827
                                                                                                                                                                          run.py:246
           [frescobaldi] Starting app...                                                                                                                                  run.py:246
                                                                                                                                                                   subprocess.py:827
           >>> Running Command:                                                                                                                                    subprocess.py:827
           >>>     /var/home/fede/src/frescobaldi/frescobaldi/build/frescobaldi/fedora/41/frescobaldi-4.0.0/usr/bin/frescobaldi                                    subprocess.py:827
           >>> Working Directory:                                                                                                                                  subprocess.py:827
           >>>     /var/home/fede                                                                                                                                  subprocess.py:827
           ===========================================================================                                                                                    run.py:171
           Exception ignored on threading shutdown:                                                                                                                subprocess.py:195
           TypeError: 'str' object cannot be interpreted as an integer                                                                                             subprocess.py:195
                                                                                                                                                                      __main__.py:44
           Problem running app frescobaldi.                                                                                                                           __main__.py:45
           Saving log... started                                                                                                                                      console.py:391

Main thread traceback:
╭─────────────────────────────────────────────────────────────────────── Traceback (most recent call last) ────────────────────────────────────────────────────────────────────────╮
│ /var/home/fede/.local/lib/python3.13/site-packages/briefcase/__main__.py:29 in main                                                                                              │
│                                                                                                                                                                                  │
│   26 │   │   │   Path.cwd() / "pyproject.toml",                                                                                                                                  │
│   27 │   │   │   overrides=overrides,                                                                                                                                            │
│   28 │   │   )                                                                                                                                                                   │
│ ❱ 29 │   │   command(**options)                                                                                                                                                  │
│   30 │   except HelpText as e:                                                                                                                                                   │
│   31 │   │   logger.info()                                                                                                                                                       │
│   32 │   │   logger.info(str(e))                                                                                                                                                 │
│                                                                                                                                                                                  │
│ ╭───────────────────────────────────────────── locals ──────────────────────────────────────────────╮                                                                            │
│ │       command = <briefcase.platforms.linux.system.LinuxSystemRunCommand object at 0x7f2441dae3c0> │                                                                            │
│ │       console = <briefcase.console.Console object at 0x7f2441dacec0>                              │                                                                            │
│ │             e = BriefcaseCommandError('Problem running app frescobaldi.')                         │                                                                            │
│ │ extra_cmdline = []                                                                                │                                                                            │
│ │        logger = <briefcase.console.Log object at 0x7f2441dad010>                                  │                                                                            │
│ │       options = {                                                                                 │                                                                            │
│ │                 │   'appname': None,                                                              │                                                                            │
│ │                 │   'update': False,                                                              │                                                                            │
│ │                 │   'update_requirements': False,                                                 │                                                                            │
│ │                 │   'update_support': False,                                                      │                                                                            │
│ │                 │   'update_stub': False,                                                         │                                                                            │
│ │                 │   'update_resources': False,                                                    │                                                                            │
│ │                 │   'no_update': False,                                                           │                                                                            │
│ │                 │   'test_mode': False,                                                           │                                                                            │
│ │                 │   'passthrough': []                                                             │                                                                            │
│ │                 }                                                                                 │                                                                            │
│ │     overrides = {}                                                                                │                                                                            │
│ │       printer = <briefcase.console.Printer object at 0x7f2441dac980>                              │                                                                            │
│ │        result = 200                                                                               │                                                                            │
│ ╰───────────────────────────────────────────────────────────────────────────────────────────────────╯                                                                            │
│                                                                                                                                                                                  │
│ /var/home/fede/.local/lib/python3.13/site-packages/briefcase/commands/run.py:325 in __call__                                                                                     │
│                                                                                                                                                                                  │
│   322 │   │                                                                                                                                                                      │
│   323 │   │   self.verify_app(app)                                                                                                                                               │
│   324 │   │                                                                                                                                                                      │
│ ❱ 325 │   │   state = self.run_app(                                                                                                                                              │
│   326 │   │   │   app,                                                                                                                                                           │
│   327 │   │   │   test_mode=test_mode,                                                                                                                                           │
│   328 │   │   │   passthrough=[] if passthrough is None else passthrough,                                                                                                        │
│                                                                                                                                                                                  │
│ ╭──────────────────────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────────────────────╮                              │
│ │                 app = <com.frescobaldi.frescobaldi v4.0.0 AppConfig>                                                                            │                              │
│ │             appname = None                                                                                                                      │                              │
│ │           exec_file = PosixPath('/var/home/fede/src/frescobaldi/frescobaldi/build/frescobaldi/fedora/41/frescobaldi-4.0.0/usr/bin/frescobaldi') │                              │
│ │           no_update = False                                                                                                                     │                              │
│ │             options = {}                                                                                                                        │                              │
│ │         passthrough = []                                                                                                                        │                              │
│ │                self = <briefcase.platforms.linux.system.LinuxSystemRunCommand object at 0x7f2441dae3c0>                                         │                              │
│ │               state = None                                                                                                                      │                              │
│ │       template_file = PosixPath('/var/home/fede/src/frescobaldi/frescobaldi/build/frescobaldi/fedora/41')                                       │                              │
│ │           test_mode = False                                                                                                                     │                              │
│ │              update = False                                                                                                                     │                              │
│ │ update_requirements = False                                                                                                                     │                              │
│ │    update_resources = False                                                                                                                     │                              │
│ │         update_stub = False                                                                                                                     │                              │
│ │      update_support = False                                                                                                                     │                              │
│ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯                              │
│                                                                                                                                                                                  │
│ /var/home/fede/.local/lib/python3.13/site-packages/briefcase/platforms/linux/system.py:857 in run_app                                                                            │
│                                                                                                                                                                                  │
│    854 │   │   │   │   )                                                                                                                                                         │
│    855 │   │   │   │                                                                                                                                                             │
│    856 │   │   │   │   # Start streaming logs for the app.                                                                                                                       │
│ ❱  857 │   │   │   │   self._stream_app_logs(                                                                                                                                    │
│    858 │   │   │   │   │   app,                                                                                                                                                  │
│    859 │   │   │   │   │   popen=app_popen,                                                                                                                                      │
│    860 │   │   │   │   │   test_mode=test_mode,                                                                                                                                  │
│                                                                                                                                                                                  │
│ ╭──────────────────────────────────────────── locals ─────────────────────────────────────────────╮                                                                              │
│ │         app = <com.frescobaldi.frescobaldi v4.0.0 AppConfig>                                    │                                                                              │
│ │   app_popen = <Popen: returncode: 255 args: ['/var/home/fede/src/frescobaldi/frescobaldi/b...>  │                                                                              │
│ │      kwargs = {}                                                                                │                                                                              │
│ │ passthrough = []                                                                                │                                                                              │
│ │        self = <briefcase.platforms.linux.system.LinuxSystemRunCommand object at 0x7f2441dae3c0> │                                                                              │
│ │   test_mode = False                                                                             │                                                                              │
│ ╰─────────────────────────────────────────────────────────────────────────────────────────────────╯                                                                              │
│                                                                                                                                                                                  │
│ /var/home/fede/.local/lib/python3.13/site-packages/briefcase/commands/run.py:202 in _stream_app_logs                                                                             │
│                                                                                                                                                                                  │
│   199 │   │   │   │   # If we're monitoring an actual app (not just a log stream),                                                                                               │
│   200 │   │   │   │   # and the app didn't exit cleanly, surface the error to the user.                                                                                          │
│   201 │   │   │   │   if popen.poll() != 0:                                                                                                                                      │
│ ❱ 202 │   │   │   │   │   raise BriefcaseCommandError(f"Problem running app {app.app_name}.")                                                                                    │
│   203 │   │                                                                                                                                                                      │
│   204 │   │   except KeyboardInterrupt:                                                                                                                                          │
│   205 │   │   │   pass  # Catch CTRL-C to exit normally                                                                                                                          │
│                                                                                                                                                                                  │
│ ╭───────────────────────────────────────────── locals ─────────────────────────────────────────────╮                                                                             │
│ │          app = <com.frescobaldi.frescobaldi v4.0.0 AppConfig>                                    │                                                                             │
│ │ clean_filter = None                                                                              │                                                                             │
│ │ clean_output = False                                                                             │                                                                             │
│ │   log_filter = <briefcase.commands.run.LogFilter object at 0x7f2441dafe00>                       │                                                                             │
│ │   log_stream = False                                                                             │                                                                             │
│ │        popen = <Popen: returncode: 255 args: ['/var/home/fede/src/frescobaldi/frescobaldi/b...>  │                                                                             │
│ │         self = <briefcase.platforms.linux.system.LinuxSystemRunCommand object at 0x7f2441dae3c0> │                                                                             │
│ │    test_mode = False                                                                             │                                                                             │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯                                                                             │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
BriefcaseCommandError: Problem running app frescobaldi.

Additional context

No response

@fedelibre fedelibre added the bug A crash or error in behavior. label Jan 19, 2025
@freakboy3742
Copy link
Member

Before you run an app in fully packaged mode, it's helpful to run it in dev mode:

$ briefcase dev
...
[frescobaldi] Starting in dev mode...
===========================================================================
Traceback (most recent call last):
  File "<string>", line 1, in <module>
    import runpy, sys;sys.path.pop(0);sys.argv.extend([]);runpy.run_module("frescobaldi", run_name="__main__", alter_sys=True)
                                                          ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen runpy>", line 222, in run_module
  File "<frozen runpy>", line 142, in _get_module_details
ImportError: No module named frescobaldi

Problem running app frescobaldi.

That is - your app is configured incorrectly. You've configured an app named frescobaldi, but running python -m frescobaldi doesn't start the app. Based on a quick inspection of the code, you either need to use an app name of frescobaldi_app, or you need to convert the frescobaldi shell script in the root of the project into a python module.

@mhsmith
Copy link
Member

mhsmith commented Jan 20, 2025

Why didn't briefcase run display the correct error message? That seems like a bug.

@rmartin16
Copy link
Member

I knew I had seen this before: beeware/toga#2823 (comment)

It might be reasonable to update the stub app to predict if runpy will fail because the module doesn't exist.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A crash or error in behavior.
Projects
None yet
Development

No branches or pull requests

4 participants