Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Installation of earlier versions of Python (prior to 3.8) fails on Mac with M1 Chip (ARM based Apple Silicon)

I have Macbook with Apple M1 Chip in which I have to use Python 3.6.5 for my project. It comes with Python 2.7.16 and 3.8.2 preinstalled. I used brew to install Python which by default installed 3.9.1.

So, I tried this homebrew formula to install 3.6.5, but got following error:

checking for pthread_t... yes
checking size of pthread_t... 8
configure: error: Unexpected output of 'arch' on OSX

Do not report this issue to Homebrew/brew or Homebrew/core!

I tried pyenv install 3.6.5 , but it fails with similar error as above. Method explained here by ePi272314 to install python with git commit fails because it is no longer supported in homebrew.

When I try running Terminal with Rosetta 2 and install python 3.6.5, using above methods, I get the following, or some other compilation error:

Error: Cannot install in Homebrew under Rosetta 2 in ARM default prefix (/opt/homebrew)!

Finally, I downlaoded dmg file of Python 3.6.5 and installed it. It installed fine and it is visible as a python3 installation at /usr/local/bin/python3 but it cannot run.

kxxxr@Kxxxns-MBP bin % where python3
/opt/homebrew/bin/python3
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3
/opt/homebrew/bin/python3
/usr/local/bin/python3
/usr/bin/python3
kxxxr@Kxxxns-MBP bin % /opt/homebrew/bin/python3 --version
Python 3.9.1
kxxxr@Kxxxns-MBP bin % /usr/local/bin/python3 --version
zsh: killed     /usr/local/bin/python3 --version
kxxxr@Kxxxns-MBP bin % 

Idle installed by Python dmg file cannot run either (I have admin rights).

Lastly came across this python bug report, which says bug is being fixed for Python 3.8, 3.9 and 3.10. Clearly, it looks like older version will not be supported on M1 chips officially.

My question is:

  1. Is there other way to work with Python 3.6.5 on Mac M1? Am I missing anything?
  2. If not, then please mention that. I will accept that as answer.

Thanks in advance.

like image 275
Kundan Kumar Avatar asked Jan 10 '21 12:01

Kundan Kumar


People also ask

Which Python version is compatible with Mac M1?

You can now run Python on the Apple MacBook with M1 Chip Python 3.9. 1 becomes the first version of the language to support macOS 11 Big Sur, and in turn supporting the M1-powered MacBooks.

Does Python 3.7 work on M1 Mac?

yes, so this shows the path as /usr/local/opt/[email protected]/ which you can then use to run that version from - thanks!

How do I install Python 3.8/10 on Mac?

Download the python-3.8. 10 version here: https://www.python.org/downloads/release/python-3810/ Once downloaded, double-click to install through the installation wizard.


1 Answers

Python 3.6 is not support on M1 might due to the fact that 3.6 will reach End Of Line (EOL) at the end of this year (2021).

I would suggest you to try at least Python 3.7 or higher on M1. Using pyenv, I've succeed install Python 3.7.10, 3.8.6 and 3.9.4 natively on macOS 11 (Apple Silicon). This article would help you though the process, if you're still looking for answer: https://squademy.medium.com/install-python-on-macos-11-m1-apple-silicon-using-pyenv-12e0729427a9

like image 139
Eugene Avatar answered Sep 17 '22 13:09

Eugene