4

I am try ing to install symfit on a MacBook Pro M1 using miniforge, for processor compatibility as pip3 install symfit results into errors. However, when running conda install -c conda-forge symfit, I get:

Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.

PackagesNotFoundError: The following packages are not available from current channels:

  - symfit

Current channels:

  - https://conda.anaconda.org/conda-forge/osx-arm64
  - https://conda.anaconda.org/conda-forge/noarch
  - https://conda.anaconda.org/conda/osx-arm64
  - https://conda.anaconda.org/conda/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

When doing so, I find that symfit is available in the conda-forge channel! Why can't it be installed from the command line?

merv
  • 67,214
  • 13
  • 180
  • 245
bessie
  • 53
  • 1
  • 6
  • This package is not currently being built for **osx-arm64** (the M1 platform). From what I can tell there should not be a major difficulty in adding such a build. I created [an issue for this request on the `symfit-feedstock`](https://github.com/conda-forge/symfit-feedstock/issues/15). – merv Jul 29 '21 at 18:32

2 Answers2

1

At the time of the question, the Conda Forge feedstock for symfit was not building for osx-arm64 platform. After an issue being filed on the feedstock, one of the maintainers updated the feedstock to generate noarch builds (platform agnostic). So, starting with version 0.5.3, what OP attempted should just work.

conda install -c conda-forge symfit

The lesson here is: Conda Forge is an open platform, so if you find something not being built, please reach out to the feedstocks or submit a Pull Request. The community depends on active feedback from users to improve.

merv
  • 67,214
  • 13
  • 180
  • 245
0

UPDATE: this answer was posted before OP changed to use the correct conda install -c conda-forge symfit command!

  • turns out at the time of question symfit has no build for "OSX_arm64" which is why the command fails

because conda install will try to install the module from the default channel...
you have to explicitly tell conda to use conda-forge!

conda install -c conda-forge symfit 

-> check the doc!! https://symfit.readthedocs.io/en/stable/installation.html

raphael
  • 2,159
  • 17
  • 20
  • Thanks for your response, I had already tried that, without success it results in the same error! – bessie Jul 29 '21 at 16:43
  • Exactly the same as above, I have edited my initial post tot show the complete message. – bessie Jul 29 '21 at 16:48
  • it might be because of your processor.... there's only `OSX-64` wheels available... none for `OSX-arm64` (https://anaconda.org/conda-forge/symfit) but I have no experience with those kind of things... – raphael Jul 29 '21 at 17:08
  • just to check.... `numpy` for example has an explicit `OSX-arm64` wheel (https://anaconda.org/conda-forge/numpy) – raphael Jul 29 '21 at 17:09
  • if you search for a replacement-library to do your fitting... you might want to have a look at `scipy.optimize` (https://docs.scipy.org/doc/scipy/reference/optimize.html) (It's most probably the library that symfit draws it's fit-functions from....) – raphael Jul 29 '21 at 17:13
  • This is not helpful because the package is not available for the OP platform (**osx-arm64**). – merv Jul 29 '21 at 18:25
  • Thanks for your efforts Raphael! I have to fit ODE-solutions to measurements of observations over time for several samples. The problem is that the datasets have different length, which is why I cannot use curve_fit as discussed in one of my previous post (https://stackoverflow.com/questions/68545110/using-curve-fit-to-estimate-common-model-parameters-over-datasets-with-different. I am afraid that I will have use Scipy.optimize instead of an existing more user-friendly package. – bessie Jul 29 '21 at 18:31
  • @merv: I have successfully installed Scipy on my system using MiniForge! here is the post I used to do so: https://towardsdatascience.com/new-m1-who-dis-677e085baffd. – bessie Jul 29 '21 at 18:34
  • @bessie sorry if I caused confusion: I was referring to `symfit` not being available. `scipy` happens to be a dependency of `symfit` and yes it is already being built on Conda Forge for your platform. – merv Jul 29 '21 at 18:44