Skip to content

better error message when variables are missing from env#2211

Open
jeromedockes wants to merge 7 commits into
skrub-data:mainfrom
jeromedockes:error-message-missing-value
Open

better error message when variables are missing from env#2211
jeromedockes wants to merge 7 commits into
skrub-data:mainfrom
jeromedockes:error-message-missing-value

Conversation

@jeromedockes

@jeromedockes jeromedockes commented Jul 8, 2026

Copy link
Copy Markdown
Member

closes #2210

import skrub

data_path = skrub.var("data_path", value="data")
learner = data_path.skb.make_learner()
learner.fit({"data_dir": "data"})
skrub._data_ops._data_ops.UninitializedVariable: No value has been provided for 'data_path'
Evaluation of node <Var 'data_path'> failed. See above for full traceback. This node was defined here:
      File "/home/jerome/workspace/scratch/2026/07/scratch.py", line 14, in <module>
        data_path = skrub.var("data_path", value="data")
- Note that preview values passed to initialize skrub variables
  are ignored by default when we pass an explicit 'environment' dictionary,
  for example when calling SkrubLearner.fit({'X': ..., 'y': ...}).
  Please pass a value for 'data_path' in the environment.
  You can also use skrub.var('data_path', value=..., becomes_default=True)
  to always retain the initialization value as a default.
- WARNING: the following keys were passed in the environment but have no corresponding variable in the DataOp:
  ['data_dir']

@jeromedockes jeromedockes added the data_ops Something related to the skrub DataOps label Jul 8, 2026
@GaelVaroquaux

Copy link
Copy Markdown
Member

Thanks a lot!

Is it possible to detect whether a "make_learner" call has been called or not, to have a more precise error message?

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

Labels

data_ops Something related to the skrub DataOps

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Better error message for no value after "make_learner"

2 participants