Since Python 3.8 had been released for about a year when Apple Silicon hit the market, Python 3.7 builds for osx-arm64 were never part of the regular build matrix for Conda Forge.
Immediate alternatives for using 3.7 on Apple Silicon systems would be to emulate x86_64 with Rosetta or use a container system, e.g., Docker.
Similar to what one does for running win-32 environments on x86_64 machines, one can create osx-64 environments like
## create empty environment conda create -n py37 ## activate conda activate py37 ## use x86_64 architecture channel(s) conda config --env --set subdir osx-64 ## install python, numpy, etc. (add more packages here...) conda install python=3.7 numpy
⚠️ Important Note: Be sure to always activate this environment before installing packages. Otherwise, the default CONDA_SUBDIR value (osx-arm64) may be active and could result in mixing architectures in the same environment.
Note that MacOS will automatically recognize the architecture and run through Rosetta (once installed) - one need not do anything special.
With a YAML environment definition, one can use the CONDA_SUBDIR environment variable to temporarily set the platform while creating the environment. Again, one still should set the environment-specific subdir option immediately after creation.
## create environment from YAML CONDA_SUBDIR=osx-64 conda env create -n py37 -f py37.yaml ## activate conda activate py37 ## use x86_64 architecture channel(s) conda config --env --set subdir osx-64
Longer term, you could try requesting that the python-feedstock include a 3.7 build for osx-arm64. However, 3.7.12 (Sept. 2021) was technically the final feature release, and it has now entered the maintenance-only phase (see PEP 537). Also, other packages that build Python-version-specific variants would not be built for osx-arm64, so even if one had python=3.7, the packages wouldn't be there (at least not through Conda). Basically, I wouldn't bet on anyone taking this up.
The above is the detailed content of How can I install Python 3.7 on an Apple Silicon (OSX-ARM64) machine?. For more information, please follow other related articles on the PHP Chinese website!