cnapy-org / CNApy

An integrated visual environment for metabolic modeling with common methods such as FBA, FVA and Elementary Flux Modes, and advanced features such as thermodynamic methods, extended Minimal Cut Sets, OptKnock, RobustKnock, OptCouple and more!
https://cnapy-org.github.io/CNApy-guide/
Apache License 2.0
46 stars 7 forks source link

CNApy&CPLEX error under Mac OS X #491

Open fcatrambone opened 9 months ago

fcatrambone commented 9 months ago

Hello!

I'm trying to install CNApy on an Arm Mac (M1) using miniConda (yes, the Arm version). However, it appears that the cplex package for arm64 does not exist in the repos. In fact, i get this error message:

LibMambaUnsatisfiableError: Encountered problems while solving:

Could not solve for environment specs The following package could not be installed └─ cnapy 1.1.9** is not installable because it requires └─ cplex, which does not exist (perhaps a missing channel).

I have tried to install the regular cplex OSX64 package using conda install directly from the compressed file, but i still get the same error.

Anyone knows how to solve the issue? Thanks!

Paulocracy commented 9 months ago

Hello and thank you for submitting this issue! We had a user with a similar issue, it could only be solved by using the x86 version of Anaconda, and then using it with CNApy instead of Anaconda's ARM version. The problem is that, while CPLEX itself has its own Mac ARM version, CPLEX's Python binding somehow does not yet have an ARM version :-| We likely have to wait for the next (or one of the next) CPLEX versions to resolve this problem in a satisfying way, without the performance drop due to using Rosetta.

fcatrambone commented 9 months ago

Hello and thank you for submitting this issue! We had a user with a similar issue, it could only be solved by using the x86 version of Anaconda, and then using it with CNApy instead of Anaconda's ARM version. The problem is that, while CPLEX itself has its own Mac ARM version, CPLEX's Python binding somehow does not yet have an ARM version :-| We likely have to wait for the next (or one of the next) CPLEX versions to resolve this problem in a satisfying way, without the performance drop due to using Rosetta.

Thanks, Paulo! It worked perfectly. Hopefully they will fix the issue

Paulocracy commented 2 weeks ago

@fcatrambone Hello once again :D We noticed that IBM pushed MacOS ARM PyPI wheels for the cplex package. Hence, with our switch to PyPI and the resulting new install procedures (for the latest version 1.2.2, see https://github.com/cnapy-org/CNApy?tab=readme-ov-file#installation-options), it might now be possible to directly use ARM-based python on MacOS. We're just lacking an Apple machine to confirm this :3