コンテンツにスキップ

ツールチェーン管理

Ryeは、システムのPythonインストールを使用しないという点で独特です。代わりに、Pythonのインストール(ツールチェーンと呼ばれる)を自身でダウンロードして管理します。現在、Ryeでサポートされているツールチェーンには3つのタイプがあり、それぞれについて理解する必要があります。

ツールチェーンの固定

プロジェクトで特定のツールチェーンを使用するには、ツールチェーンの名前を.python-versionファイルに書き込むか、pinコマンドを使用します。cpythonを固定する場合、cpython@プレフィックスは省略できます。

ダウンロード可能なバージョンを固定すると、Ryeは必要に応じて自動的にそれを取得します。デフォルトでは、ツールチェーンは正確なバージョンに固定されます。これは、rye pin [email protected]と書いても、非常に具体的なバージョンのcpythonが.python-versionファイルに書き込まれることを意味します。Rye 0.5.0以降では、「緩和された」固定を実行できます。

rye pin --relaxed [email protected]

これにより、.python-versionファイルに3.11が保持され、Ryeは仮想環境で利用可能な最新の互換バージョンを使用します。

0.5.0で変更

rye pin --relaxedによる緩和された固定が追加されました。

ネイティブではないアーキテクチャ

0.14.0の新機能

ネイティブではないアーキテクチャの取得と固定のサポートが追加されました。

デフォルトでは、固定は実行中のマシンのアーキテクチャ用です。これは、aarch64アーキテクチャのMacで[email protected]を固定すると、そのCPUアーキテクチャのcpythonインタープリターが使用されることを意味します。異なるアーキテクチャは、Pythonファミリ名に-{arch}を追加することで選択できます。たとえば、x86_64バージョンを強制するには、次のように固定する必要があります。

このようなカスタム固定は、pyproject.tomlではなく、.python-versionにのみ反映されることに注意してください。

ツールチェーンの一覧表示

インストールされているツールチェーンを確認するには、rye toolchain listを実行してリストを表示します。

rye toolchain list
[email protected] (C:\Users\armin\.rye\py\[email protected]\install\python.exe)
[email protected] (C:\Users\armin\.rye\py\[email protected]\python.exe)

インストール可能なツールチェーンを確認するには、さらに--include-downloadableを渡します。

rye toolchain list --include-downloadable

ツールチェーンの取得

通常、Ryeはツールチェーンを自動的にダウンロードしますが、rye toolchain fetchrye fetchのエイリアス)で明示的に取得することもできます。

rye toolchain fetch [email protected]

Rye 0.19.0以降、fetchの引数は現在の固定から推測されます。つまり、次のように取得することもできます。

rye pin 3.10
rye fetch

ツールチェーンは2つのソースから取得されます。

ツールチェーンを特定の場所に取得することもできます。この場合、インタープリターはRyeが通常参照する場所に保存されず、特定の場所に保存されます。ただし、Ryeは手動で登録しない限り、それを使用できません。ただし、これはデバッグや高度な設定に役立ちます。

rye toolchain fetch [email protected] --target-path=my-interpreter

ryeをインストールせずにryeインタープリターの取得機能を使用する場合は、`RYE_NO_AUTO_INSTALL`環境変数をエクスポートして`1`に設定することをお勧めします。そうしないと、インストーラーが起動します。

ツールチェーンの登録

さらに、rye toolchain registerコマンドを使用して、外部ツールチェーンを登録することもできます。

rye toolchain register /path/to/python

ツールチェーンの名前は、インタープリターに基づいて選択されます。たとえば、通常のcpythonインストールをリンクするとcpython@versionと呼ばれますが、pypyをリンクするとpypy@versionとして表示されます。Rye 0.5.0以降、デバッグビルドの場合はツールチェーンの名前に-dbgが追加されます。名前をオーバーライドするには、--nameを渡します。

rye toolchain register --name=custom /path/to/python

ツールチェーンの削除

既に取得したツールチェーンを削除するには、rye toolchain removeを実行します。これは、リンクされたツールチェーンでも機能することに注意してください。

rye toolchain remove [email protected]

警告

アクティブに使用されているツールチェーンを削除すると、参照している仮想環境が壊れます。

ビルド情報

0.31.0の新機能

Rye 0.31.0以前は、Pythonのインストールはビルド情報と共に取得されていました。これは、~/.rye/py/INTERPRETERのフォルダー構造が少し異なるため、確認できます。 [email protected]/bin/python3を見つけるのではなく、中間ビルド出力を含むbuildフォルダーと共に、追加のinstallフォルダー([email protected]/install/bin/python3)があります.0.31.0以降、ビルド情報はデフォルトで削除されます。ビルド情報を取得するには、明示的に--build-infoを指定して取得するか、behavior.fetch-with-build-info設定フラグをtrueに設定します。

rye config --set-bool behavior.fetch-with-build-info=true