biolab / orange3

🍊 :bar_chart: :bulb: Orange: Interactive data analysis
https://orangedatamining.com
Other
4.86k stars 1.02k forks source link

Build for M1 Mac #5726

Closed micsama closed 12 months ago

micsama commented 2 years ago

What's your use case?

What's your proposed solution?

Are there any alternative solutions?

janezd commented 2 years ago

Can you donate one? :)

This will require some testing, and none of core developers has an M1 mac. One is ordered, we're waiting.

wvdvegte commented 2 years ago

Does Orange currenty work on M1 Macs non-natively, with Rosetta 2?

markotoplak commented 2 years ago

@wvdvegte, we hope it does. If you've tried it or know of anyone who did, we'd be love to hear about it.

micsama commented 2 years ago

@wvdvegte ,Does Orange currenty work on M1 Macs non-natively, with Rosetta 2? It works with Rosetta 2. but I thought it will be better if we have another natively build for M1 Mac

micsama commented 2 years ago

@wvdvegte,我们希望如此。如果您尝试过它或知道有人尝试过,我们很乐意听到它。

I had clone the source code, and try to build it by myself, but its doesn't work. I can use brew to install PyQt ,but there were something error with pyqtwebengine. Then I failed.

ivaquero commented 2 years ago

Does Orange currenty work on M1 Macs non-natively, with Rosetta 2?

I am an M1 user. Yes, it works, but you can't use some add-ons, or it will break.

markotoplak commented 2 years ago

@ivaquero, which addons break it? Thanks.

ivaquero commented 2 years ago

@markotoplak I guess it's the text add-on. I can't open orange after installing it. I tried twice. I don't know how to track the log in the terminal, so I am not 100% sure.

Wesseldr commented 2 years ago

@markotoplak on OsX Intel the Orange3 + xgboost works when using: brew install xgboost after that the Extreme gradient boositng & random forest are available as options inside Orange3-GradientBoosting

However on the M1 Max the same trick does not work. o I presume this is an addon that breaks. Brew also now stores all files inside /opt/homebrew for all the M1 binaries instead of the old location of brew. /usr/local/Cellar/xgboost

I've also tried installing xgboost in my default miniconda python3.9 env, but that also leaves it undetected for Orange3. Not sure if Orange3 can take hints what conda environment to use :) I'm not that poweruser yet... The rest Orange3 works well on the M1 :)

Wesseldr commented 2 years ago

@markotoplak on OsX Intel the Orange3 + xgboost works when using: brew install xgboost after that the Extreme gradient boositng & random forest are available as options inside Orange3-GradientBoosting

However on the M1 Max the same trick does not work. o I presume this is an addon that breaks. Brew also now stores all files inside /opt/homebrew for all the M1 binaries instead of the old location of brew. /usr/local/Cellar/xgboost

I've also tried installing xgboost in my default miniconda python3.9 env, but that also leaves it undetected for Orange3. Not sure if Orange3 can take hints what conda environment to use :) I'm not that poweruser yet... The rest Orange3 works well on the M1 :)

UPDATE 14Jan21 Upgraded to the latest 3.31.1 version of Orange3, and can confirm the GradientBoosting options are now available. So the latest Orangre 3 is detecting the installed xgboost package with the M1 paths & Brew

A big thank you!!!!

markotoplak commented 2 years ago

@Wesseldr, thanks for the update, but it wasn't anything we fixed. :)

wvdvegte commented 2 years ago

Gradient Boosting also works on OS X Intel (Orange 3.31.1), without the brew command. Don't know how it was on my machine in previous versions - I've never tried it before.

zrezke commented 2 years ago

I had trouble getting Orange to work because of it's pyqt5 dependency, which I could not find a way to install correctly. However I installed pyqt6 using pip without any issues and so I manually went into the Orange source and bumped all pyqt5 imports to pyqt6... It seems to work now!

markotoplak commented 2 years ago

Using pyqt6 with the current version of Orange could be problematic. If you really decide to do that, use the code from #5884, which contains Qt6 specific fixes.

@janezd, @JakaKokosar, you are both running Orange on M1 Macs, right? Did you need to do anything special for Orange to run?

zrezke commented 2 years ago

Hmm, thanks I didn't know you were working on pyqt6 support.I will switch to https://github.com/biolab/orange3/pull/5884, if I encounter any issues. :)

janezd commented 2 years ago

@zrezke, we'd actually prefer if you switched to #5884, so you can report any issues there. :) Such changes always contain lots of small details that can go wrong.

janezd commented 2 years ago

@markotoplak, I'm running Orange in PyQt5 with Rosetta, so not (directly) on M1. With this setup, the only problem was to properly configure the development tools for building bottleneck.

Switching to M1 with PyQt6 will require installing (hopefully in parallel) of conda for M1. Not this week, yet.

poke1024 commented 2 years ago

Another report for Apple M1. Running in Rosetta2 works fine for me. Installing natively fails due to PyQtWebEngine, which cannot be installed either via pip (_in_process.py: Unable to find file "QtCore/QtCoremod.sip), nor via conda (missing binary for m1). I'll definitely try out https://github.com/biolab/orange3/pull/5884.

ivaquero commented 1 year ago

update: dependency catboost hindered the osx-arm64 migration https://github.com/conda-forge/catboost-feedstock/pull/97.

most recent update: after checking https://conda-forge.org/status/, I found no dependency in osx-arm64 migration, and I have no idea what hindered the migration of orange3.

andrey-khropov commented 1 year ago

update: dependency catboost hindered the osx-arm64 migration conda-forge/catboost-feedstock#97.

JFYI: CatBoost conda package does support osx-arm64 now: https://github.com/conda-forge/catboost-feedstock/pull/95.

ahmfarisi commented 1 year ago

For me as m1 user, it's only work if you run it with rosetta. Cheers

janezd commented 12 months ago

We can close this now, right?

PrimozGodec commented 12 months ago

Sure. Now we provide both arm wheels and Apple Silicon installer.