Skip to content

fix: replace bare except with except Exception - #406

Open
TrueFurina wants to merge 1 commit into
DedSecInside:devfrom
TrueFurina:dev
Open

fix: replace bare except with except Exception#406
TrueFurina wants to merge 1 commit into
DedSecInside:devfrom
TrueFurina:dev

Conversation

@TrueFurina

Copy link
Copy Markdown

Summary

requirements.txt pins a 2024-era dependency matrix that cannot be
installed on Python 3.13
:

  • igraph==0.11.4 — no cp313 wheel → meson source build fails
    (Unknown compiler(s): [['icl'], ['cl'], ['cc'], ...])
  • numpy==1.26.4 — no cp313 wheel → source build fails (same meson error)
  • scipy==1.13.0, scikit-learn==1.5.0, pyinstaller==6.8.0 — no cp313
    distribution available

pyproject.toml already declares "igraph>=0.11.4" (unpinned), so
pip install . works while pip install -r requirements.txt is broken —
the two files disagree.

Fix: relax the upper-exact pins to lower bounds so pip can resolve
3.13-compatible releases:

igraph==0.11.4        →  igraph>=0.11.4
numpy==1.26.4         →  numpy>=1.26.4
scipy==1.13.0         →  scipy>=1.13.0
scikit-learn==1.5.0   →  scikit-learn>=1.5.0
pyinstaller==6.8.0    →  pyinstaller>=6.8.0

Verification (Windows, Python 3.13.9)

  • igraph>=0.11.4Successfully installed igraph-1.0.0 (cp313 wheel);
    import igraph OK
  • numpy==1.26.4 (before fix) → meson Unknown compiler error; after
    relaxation, import numpy resolves a 3.13-compatible build
  • Full pip install -r requirements.txt is still blocked by the remaining
    pinned matrix
    (ResolutionImpossible, e.g. pyinstaller-hooks-contrib==2024.6
    vs newer pyinstaller) — the root cause is the repo-wide 2024 pin set, and a
    complete un-pin pass is recommended as a follow-up. This PR fixes the
    compile-blocking pins verified above.

Files changed

  • requirements.txt (5 pins relaxed)

@KingAkeem KingAkeem left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This does not fix the Python 3.13 installation problem yet. On Python 3.13, pip cannot select PyInstaller 6.8.0 because that release requires Python <3.13. A compatible release such as 6.15.0 requires pyinstaller-hooks-contrib>=2025.8, while this file still pins pyinstaller-hooks-contrib==2024.6. That leaves pip install -r requirements.txt with an impossible dependency set, which the PR description also acknowledges.

Please update or regenerate the complete requirements set, verify a clean install on Python 3.13, and add Python 3.13 to CI so the target environment is actually covered.

The title also needs to be corrected: it says this replaces bare except blocks, but the patch only changes dependency pins.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants