-
Notifications
You must be signed in to change notification settings - Fork 14.9k
Marshmallow 4.0.0 breaks superset init #33162
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
Comments
Hello @MattBodey! I'm Dosu, a bot here to help you with bugs, answer your questions, and guide you on your journey to becoming a contributor. I'm ready to assist while you wait for a human maintainer. Let’s tackle this together! The issue you're encountering is due to a compatibility problem between Superset and Marshmallow 4.0.0. Specifically, the To resolve this issue, you can downgrade Marshmallow to version 3.26.1, where the pip3 install marshmallow==3.26.1 This should allow Superset to initialize without errors. It seems that the version of Marshmallow is specified in To continue talking to Dosu, mention @dosu. Help Dosu learn! Give it feedback: Great Response | Irrelevant Answer | Incorrect Sources | Too Verbose | Hallucination | Bug Report | Other |
Is there somewhere we need to pin the dependency? It looks like Superset already installs 3.26.1. I'm not sure about the details of the failure, but I know we also use |
I followed the PyPi install instructions, and running |
Hi there, we are running a little integration test suite against Apache Superset and CrateDB, in order to validate both work together well. Two days ago, CI apparently started tripping on it. TypeError: Field.__init__() got an unexpected keyword argument 'minLength' Do you think we need to adjust a few details, or is it just about marshmallow-4.0.0, which has been released two days ago, as suggested above? With kind regards, References |
@amotl I guess either
In the meantime we must force Marshmallow version. How? Depends on how you install superset. |
Hi. Thank you very much.
I don't completely understand this, yet. Isn't it possible to just add a corresponding version pinning constraint to Superset's main dependencies to handle the situation well, until Superset will be compatible with Marshmallow 4? |
Marshmallow is already pinned to the right version in development.txt, via marshmallow-sqlalchemy module requirements, but somehow v4.0.0 gets installed in the end. |
If you install it via |
Hi Colin, thanks for showing the right dependency pinning in |
It looks like the dependency of Marshmallow is also pinned per Footnotes |
Hi again. We submitted a patch to the |
Bug description
On a fresh install of superset, since marshmallow 4.0.0 released https://pypi.org/project/marshmallow/, superset fails to init due to an error validating parameters
It is possible to work around this by manually installing marshmallow at 3.26.1
pip3 install marshmallow==3.26.1
It looks like the version is being set in requirements/development.txt, so I'm unsure as to where the version update is occurring
Screenshots/recordings
No response
Superset version
master / latest-dev
Python version
3.9
Node version
16
Browser
Not applicable
Additional context
File "/home/ec2-user/.local/lib/python3.9/site-packages/superset/charts/schemas.py", line 621, in ChartDataProphetOptionsSchema
periods = fields.Integer(
File "/home/ec2-user/.local/lib/python3.9/site-packages/marshmallow/fields.py", line 977, in init
super().init(as_string=as_string, **kwargs)
File "/home/ec2-user/.local/lib/python3.9/site-packages/marshmallow/fields.py", line 924, in init
super().init(**kwargs)
TypeError: init() got an unexpected keyword argument 'min'
Checklist
The text was updated successfully, but these errors were encountered: