5

I've recently started using a Silicon MacBook Pro 13 (i.e. one with non-Intel processor). I have found installing some software difficult, for example installing Python through Homebrew and installing Python packages through Pip. Also, for some software there exist ports to the new architecture, but these ports contain bugs, for example, the Tensorflow package for Python. I also use an IDE that runs some Python commands and some Terminal commands for me, and I find it very difficult to manage the usage of Rosetta 2 for these commands.

Is there a way to set up my Mac so that all software behaves as it would on an Intel processor? For example by using Rosetta 2 for every processor instruction? I understand that would mean substantial performance losses, but I would be happy to accept these.

6
  1. In Finder, go to /Applications/Utilities/ (or press CMD+Shift+U).

  2. Select "Terminal.app"

  3. Press CMD+I (capital i) for "Get Info"

  4. Check box for "Open using Rosetta"

As shown here:

enter image description here

After that, any process in Terminal will behave as if it is on an Intel Mac. This is the best way to run brew right now, and they have said that there will be a process to move over to ARM when the time comes.

If there are other apps that are compiled for both Apple Silicon and Intel, but you always want to run them under Rosetta, repeat the "Get Info" » "Open in Rosetta" process for each app.

2
  • Thank you. Your answer explains how to run Homebrew using Rosetta. This is how I did it on my machine. My problem is that when I install Python modules and run them in my Rosetta terminal, some of them generate error messages pointing to a wrong architecture. I suspect that is because I installed an Intel64 module that is now being run on Arm64. I don't know how to apply Rosetta here. Therefore, I would like to apply Rosetta globally to everything that is run on my machine. Can you comment if this is possible?
    – user505117
    Dec 29 '20 at 17:14
  • 1
    As for running Rosetta for everything, no, I do not think that is possible. You can preface a specific command with arch -x86_64. For example, if you wanted to run the date command under Rosetta, you could use such as arch -x86_64 date. I am not sure if there is a way for you to use that to help your situation.
    – TJ Luoma
    Dec 29 '20 at 21:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .