hey Metaflow folks, I have a conda-related questio...
# ask-metaflow
f
hey Metaflow folks, I have a conda-related question/comment for everyone here: conda_base has a disabled parameter that I'm not sure is working as intended. In the flow below I would expect that steps that aren't decorated with @conda, the base environment (custom image or local conda) would kick in:
Copy code
@conda_base(disabled=True)
class CondaQFlow(FlowSpec):
    
    @conda(libraries={'pandas':'1.5.3'})
    @step
    def start(self):
        import pandas as pd
        print(pd.__version__)
        self.next(self.end)
    
    @step
    def end(self):
        import pandas as pd
        print(pd.__version__)


if __name__ == "__main__":
    CondaQFlow()
For me this outputs
2.0.2
for both steps. If I were to specify a different pandas version in conda_base, then that version would correctly get picked up in the
end
step and
start
would output
1.5.3
. I know I can get the desired behavior by putting
@conda(disabled=True)
at the end step but for long flows with a lot of steps my OCD gets triggered a bit by having to put
@conda
everywhere. I support a few teams using metaflow and this pops up pretty frequently when onboarding new metaflowers. They expect the default behavior to be
@conda(disabled=True)
for steps where they don't use the decorator.
1