I'm seeing an error that gets thrown if a flow is ...
# ask-metaflow
e
I'm seeing an error that gets thrown if a flow is solved with conda and the corresponding local environment is removed. Steps to reproduce with the following flow `helloconda.py`:
Copy code
from metaflow import FlowSpec, step, conda_base

libraries = {
    "numpy": "1.24.3",
}
@conda_base(libraries=libraries, python="3.10.9")
class HelloConda(FlowSpec):

    @step
    def start(self):
        import numpy
        print(numpy.__version__)

        self.next(self.end)
    @step
    def end(self):
        print("HelloConda is all done.")


if __name__ == "__main__":
    HelloConda()
• Run with
python helloconda.py --environment=conda run
successfully • Run
conda env list
and delete the recently created conda environment with
conda env remove -n <env_name>
• The error
Step: start, Error: CondaValueError: cannot mix specifications with conda package filenames
will now be thrown This is while using S3 as a datastore. Any thoughts?
āœ… 1
s
are you using the conda implementation from the extensions or from metaflow?
e
From metaflow
s
what is the version of conda/mamba that you are using?
@conda
is supposed to account for this scenario - it could be regression with the return codes in the
conda
binary that our implementation should account for.
e
This is happening with version 2.9.2
ah, and the mamba/conda verions:
Copy code
mamba 1.1.0
conda 22.9.0
šŸ‘ 1
Worth noting that upgrading my mamba/conda to the following resolved the issue for me:
Copy code
$ mamba --version
mamba 1.4.1
conda 23.1.0
There's nothing holding us back from upgrading so our needs for this one are resolved
šŸ™Œ 1