pyship 0.4.0__py3-none-any.whl → 0.4.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -241,6 +241,20 @@ def launch(app_dir=None, additional_path=None):
241
241
  std_out = target_process.stdout
242
242
  std_err = target_process.stderr
243
243
 
244
+ # When pythonw.exe fails silently (no stderr), re-run with python.exe to capture the actual error
245
+ if is_gui and return_code not in (OK_RETURN_CODE, RESTART_RETURN_CODE) and not (std_err and std_err.strip()):
246
+ log.warning(f"pythonw.exe exited with return_code={return_code} but produced no error output, re-running with python.exe for diagnostics")
247
+ diag_python = Path(versions[latest_version], "Scripts", "python.exe")
248
+ if diag_python.exists():
249
+ diag_cmd = [str(diag_python), "-X", "faulthandler"] + cmd[1:]
250
+ log.info(f"diagnostic cmd={diag_cmd}")
251
+ try:
252
+ diag_process = subprocess.run(diag_cmd, cwd=str(python_exe_path.parent), capture_output=True, text=True)
253
+ std_out = diag_process.stdout
254
+ std_err = diag_process.stderr
255
+ except Exception as diag_e:
256
+ log.error(f"diagnostic re-run failed: {diag_e}")
257
+
244
258
  if (std_err and std_err.strip()) or (return_code != OK_RETURN_CODE and return_code != RESTART_RETURN_CODE):
245
259
  if std_out and std_out.strip():
246
260
  log.warning(std_out)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyship
3
- Version: 0.4.0
3
+ Version: 0.4.1
4
4
  Summary: freezer, installer and updater for Python applications
5
5
  Author-email: abel <j@abel.co>
6
6
  License: MIT
@@ -24,11 +24,11 @@ pyship/uv_util.py,sha256=vGvaR9Uj7MGAhc5mS1q8LpoM9ctetQwkYQCZS7rwyWM,5654
24
24
  pyship/launcher/__init__.py,sha256=25vVghziYIHDBA0mCaGqhj6hWxxjQqlm4LrY0Hem0YY,245
25
25
  pyship/launcher/__main__.py,sha256=KhFSf1RU5Cj15y0c4FlzvIvDpWWi9NKYy0gzJ-w7KQE,115
26
26
  pyship/launcher/hash.py,sha256=THEh8G-StEJeh5tH24RnAQpYB0Zv1nnBwqOoStN6_NY,1153
27
- pyship/launcher/launcher.py,sha256=1HIXieq17IQFuldBAkmo7tjpsjADQVw7R8zXXQpEMXs,10654
27
+ pyship/launcher/launcher.py,sha256=5OgNVqhJdDAcd6zS6MXg4GgU4LiVR9xrqWfB8NvZbfk,11811
28
28
  pyship/launcher/metadata.py,sha256=PnOkYLQf6NYvPiZWhf0LAUjmFWzURKWriRQJSy3T-x4,1969
29
29
  pyship/launcher/restart_monitor.py,sha256=jfzchLxGuC_xUNdPAr849FhAdozJ6BX9M-gqLd-gGIA,952
30
- pyship-0.4.0.dist-info/licenses/LICENSE,sha256=vfTkV97IHvr2g_I1pGQg2bRYT05ktYYgaPwBDKNRv98,1093
31
- pyship-0.4.0.dist-info/METADATA,sha256=qxJGV9jequ_Q_68h0pV1aRiuYACDn6h-Ec9bmA_JH5I,2513
32
- pyship-0.4.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
33
- pyship-0.4.0.dist-info/top_level.txt,sha256=mlozeft-UInVAceSajzNvtkn2vPa8El9j0RulsTVtlU,7
34
- pyship-0.4.0.dist-info/RECORD,,
30
+ pyship-0.4.1.dist-info/licenses/LICENSE,sha256=vfTkV97IHvr2g_I1pGQg2bRYT05ktYYgaPwBDKNRv98,1093
31
+ pyship-0.4.1.dist-info/METADATA,sha256=jAhE0Aw9zAnEYcoiBvmeaLqrk7ivl36N9xOhO3lMIr0,2513
32
+ pyship-0.4.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
33
+ pyship-0.4.1.dist-info/top_level.txt,sha256=mlozeft-UInVAceSajzNvtkn2vPa8El9j0RulsTVtlU,7
34
+ pyship-0.4.1.dist-info/RECORD,,
File without changes