Depuis que Python 3.8 a été publié il y a environ un an, lorsque Apple Silicon est arrivé sur le marché, les versions Python 3.7 pour osx-arm64 n'ont jamais fait partie de la matrice de construction habituelle pour Conda Forge.
< h2>Solution : émuler
Des alternatives immédiates pour utiliser la version 3.7 sur les systèmes Apple Silicon seraient d'émuler x86_64 avec Rosetta ou d'utiliser un système de conteneur, par exemple Docker.
Semblable à ce que l'on fait pour exécuter des environnements win-32 sur des machines x86_64, on peut créer des environnements osx-64 comme
## 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
< blockquote>
⚠️ Remarque importante : assurez-vous de toujours activer cet environnement avant d'installer des packages. Sinon, la valeur par défaut CONDA_SUBDIR (osx-arm64) peut être active et entraîner un mélange d'architectures dans le même environnement.
Notez que MacOS reconnaîtra automatiquement l'architecture et exécuter via Rosetta (une fois installé) - il n'est pas nécessaire de faire quoi que ce soit de spécial.
Avec une définition d'environnement YAML, on peut utiliser le CONDA_SUBDIR variable d'environnement pour définir temporairement la plate-forme lors de la création de l'environnement. Encore une fois, il faut toujours définir l'option de sous-répertoire spécifique à l'environnement immédiatement après la création.
## 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
À plus long terme, vous pouvez essayer de demander cela le python-feedstock inclut une version 3.7 pour osx-arm64. Cependant, la version 3.7.12 (septembre 2021) était techniquement la version finale des fonctionnalités, et elle est désormais entrée dans la phase de maintenance uniquement (voir PEP 537). De plus, d'autres packages qui construisent des variantes spécifiques à la version Python ne seraient pas construits pour osx-arm64, donc même si l'on avait python=3.7, les packages ne seraient pas là (du moins pas via Conda). En gros, je ne parierais pas que quiconque s'en charge.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!