Pinned Flask-Migrate 2.5.3 breaks `flask db current` with alembic 1.16; flask-script pin can no longer be imported
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Ambito
- build-system
Direzione di ricerca
I pin si trovano in pyproject.toml, e requirements.txt viene esportato da questo file, quindi modifica le voci di pyproject e poi esporta di nuovo. Riproduci con i due comandi della issue: import flask_script dovrebbe fallire, e alembic.command.current dovrebbe sollevare un errore su head_only. È completato quando Flask-Migrate è aggiornato alla 2.6.0 o successiva, Flask-Script è rimosso, requirements.txt è rigenerato e entrambi i comandi funzionano in un'installazione pulita.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Environment:
- CTFd Version/Commit: 3.8.9 /
eccab90(master) - Operating System: Windows 11, Python 3.13,
pip install -r requirements.txtin a fresh venv - Web Browser and Version: N/A
What happened?
Two of the pinned dependencies (pyproject.toml / requirements.txt) don't work with the other pinned versions:
-
flask-migrate==2.5.3withalembic==1.16.4: Flask-Migrate 2.5.3'scurrentcommand callsalembic.command.current(config, verbose=verbose, head_only=head_only), but alembic removed thehead_onlyparameter, soflask db currentraises aTypeError. CTFd itself only usesupgradeandstamp, which are fine - this only affects admins runningflask db current, e.g. while debugging a migration. -
flask-script==2.0.6withflask==2.1.3: Flask-Script importsflask._compat, which was removed in Flask 2.0, so the package can't be imported at all. This is the error from #2352; that fix removed the import frommanage.py, and nothing in CTFd importsflask_scriptanymore, but it's still pinned.
What did you expect to happen?
All pinned packages to work together.
How to reproduce your issue
In a venv with pip install -r requirements.txt:
python -c "import flask_script"
python -c "import alembic.command as c; c.current(None, verbose=False, head_only=False)"
Any associated stack traces or error logs
ModuleNotFoundError: No module named 'flask._compat'
TypeError: current() got an unexpected keyword argument 'head_only'
Possible fix
- Bump
Flask-Migrateinpyproject.tomlto 2.6.0 or later - 2.6.0 stopped passinghead_only(2.7.0 is the last 2.x release) - and re-exportrequirements.txt. - Remove
Flask-Scriptfrompyproject.toml, since nothing uses it.
Happy to open a PR for either if that's useful.
(Found with pipbreak, a tool I'm building that checks installed packages against each other's installed versions; both findings reproduced by hand as above.)
- Lingua principale
- Python
- Stelle
- 6.9k
- Fork
- 2.8k
- Merge medio
- 2g 2h
- PR unite (30g)
- 14
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di CTFd/CTFd
-
User cannot create a team for 5 minutes when removed from a team by an admin.Forse già presa @monsterlag l’ha presa 20 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
docker update failureAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Compétition débutante ✅Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 10/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
I maintainer di solito rispondono entro 1 giorno
Issue simili
-
documentation good first issue priority: P2 status: ready
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
RhinoLink-Tech/data-fabric#500 ·
I maintainer di solito rispondono entro 1 giorno
-
backlog
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
EchoTools/nevr-runtime#2384 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: The H2 series' and the H3C's fan 3 is labelled "Chamber Fan", Bambu calls it the exhaust fanApertaarea:ui
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
btclib-org/btclib#3062 ·
I maintainer di solito rispondono entro 1 giorno
-
area:evals area:infra enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
jse-avl/support-bot#4 · 1 commento ·