Skip to content

Commit ba32745

Browse files
committed
debug(install): add detailed logging for Python extraction process
- Log all extracted archive contents to diagnose missing executables - Show source directory structure before copy - Show destination directory structure after copy - Helps debug Alpine/Arch Docker container install failures
1 parent ac8f07a commit ba32745

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

src/omnipkg/core.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1929,10 +1929,34 @@ def _install_managed_python(
19291929
else:
19301930
raise OSError(_("Could not find python directory in extracted archive"))
19311931

1932+
python_dest = venv_path / ".omnipkg" / "interpreters" / f"cpython-{full_version}"
1933+
safe_print(_(" - 🔍 DEBUG: Listing extracted contents..."))
1934+
all_extracted = list(extract_path.rglob("*"))[:50] # First 50 items
1935+
for item in all_extracted:
1936+
rel_path = item.relative_to(extract_path)
1937+
item_type = "DIR" if item.is_dir() else "FILE"
1938+
safe_print(f" [{item_type}] {rel_path}")
1939+
1940+
if len(all_extracted) >= 50:
1941+
safe_print(f" ... and {len(list(extract_path.rglob('*'))) - 50} more items")
1942+
safe_print(_(" - Installing to: {}").format(python_dest))
1943+
python_dest.parent.mkdir(parents=True, exist_ok=True)
1944+
safe_print(_(" - 🔍 DEBUG: Source directory: {}").format(source_python_dir))
1945+
if source_python_dir.exists():
1946+
source_contents = list(source_python_dir.iterdir())[:20]
1947+
safe_print(_(" - 🔍 DEBUG: Source directory contains:"))
1948+
for item in source_contents:
1949+
safe_print(f" - {item.name}")
1950+
19321951
python_dest = venv_path / ".omnipkg" / "interpreters" / f"cpython-{full_version}"
19331952
safe_print(_(" - Installing to: {}").format(python_dest))
19341953
python_dest.parent.mkdir(parents=True, exist_ok=True)
19351954
shutil.copytree(source_python_dir, python_dest, dirs_exist_ok=True)
1955+
safe_print(_(" - 🔍 DEBUG: Destination after copy:"))
1956+
if python_dest.exists():
1957+
dest_contents = list(python_dest.iterdir())[:20]
1958+
for item in dest_contents:
1959+
safe_print(f" - {item.name}")
19361960

19371961
python_exe_candidates = []
19381962
if system == "windows":

0 commit comments

Comments
 (0)