ホームページ  >  記事  >  バックエンド開発  >  Apple Silicon (OSX-ARM64) マシンに Python 3.7 をインストールするにはどうすればよいですか?

Apple Silicon (OSX-ARM64) マシンに Python 3.7 をインストールするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-11 21:07:03471ブラウズ

How can I install Python 3.7 on an Apple Silicon (OSX-ARM64) machine?

Python 3.7 を osx-arm64 にインストールできません

Python 3.7 が明らかに利用できないのはなぜですか?

Python 以来Apple Silicon が市場に出たとき、3.8 は約 1 年前にリリースされていましたが、osx-arm64 用の Python 3.7 ビルドは Conda Forge の通常のビルド マトリックスに含まれていませんでした。

回避策: Emulate

Apple Silicon システムで 3.7 を使用するための当面の代替手段は、エミュレートすることです。 Rosetta で x86_64 を使用するか、Docker などのコンテナ システムを使用します。

gt;osx-64 環境の作成

OSX-64 環境の作成

## 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
Win-32 環境を実行する場合と同様です。 x86_64 マシン、osx-64 環境を作成できるlike



⚠️ 重要な注意事項: パッケージをインストールする前に、必ずこの環境をアクティブ化してください。そうしないと、デフォルトの CONDA_SUBDIR 値 (osx-arm64) がアクティブになり、同じ環境内でアーキテクチャが混在する可能性があります。

MacOS は自動的に認識することに注意してください。アーキテクチャを変更し、Rosetta を実行します (インストール後) - 何もする必要はありませんspecial.

YAML

## 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
YAML 環境定義では、CONDA_SUBDIR 環境変数を使用して、環境の作成中にプラットフォームを一時的に設定できます。繰り返しますが、作成直後に環境固有の subdir オプションを設定する必要があります。

ネイティブ ビルドのリクエスト

長期的には、これをリクエストしてみてもよいでしょう。 Python フィードストックには、osx-arm64 用の 3.7 ビルドが含まれています。ただし、3.7.12 (2021 年 9 月) が技術的には最後の機能リリースであり、現在はメンテナンスのみのフェーズに入っています (PEP 537 を参照)。また、Python バージョン固有のバリアントをビルドする他のパッケージは osx-arm64 用にビルドされないため、たとえ python=3.7 を持っていたとしても、パッケージはそこには存在しません (少なくとも Conda 経由では)。基本的に、これを取り上げる人がいるとは思えません。

以上がApple Silicon (OSX-ARM64) マシンに Python 3.7 をインストールするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。