ポータブル CPython
Ryeは、コンピューターに既にインストールされているPythonディストリビューションではなく、独自のPythonディストリビューションをダウンロードできます(推奨)。CPythonの場合、PyOxidizerプロジェクトのindygreg/python-build-standaloneビルドが使用されます。
これにより、Pythonのバージョン間の切り替えが容易になり、異なるRyeユーザー間で共通のエクスペリエンスが得られ、動作の変化によって引き起こされる奇妙なバグを回避できます。
残念ながら、Python自体はすべてのオペレーティングシステム用のバイナリ(または適切なタイプのバイナリ)をリリースしていないため、RyeはPyOxidizerのポータブルPythonビルドを活用しています。
コンピューターにインストールできる他の多くのPythonバージョンとは異なり、ポータブルではないため、マシン上の新しい場所に移動したり、別のコンピューター(同じオペレーティングシステムを使用している場合でも)にコピーしたりすると、実行できなくなります。これは、Ryeがやりたいことには望ましくありません。1つは、どのオペレーティングシステムを使用しているかに関係なく、すべてのPython開発者にとって同じエクスペリエンスを実現したいと考えています。次に、自己完結型のPythonビルドを後で有効にしたいと考えており、そのためにはPythonのインストールがポータブルである必要があります。
これを達成するために、私たちが使用するPythonビルドには、通常のPythonビルドとは異なるいくつかの変更が加えられています。
制限事項
通常のPythonバージョンに対する以下の変更点に注意してください
-
readline
の代わりにlibedit
:残念ながら、readline
はGPLv3ライセンスであり、再配布の際に問題となります。そのため、ポータブルPythonビルドは、より自由にライセンスされたlibedit
にリンクしています。 -
dbm.gnu
は使用できません。これはあまり一般的ではないモジュールであり、標準ライブラリには代替手段が用意されています。
さらに、これらのビルドの作成方法により、ターミナルのサポートまたはTKinterに関連するその他の癖が発生する可能性があります。これらの問題のいくつかは、FAQにまとめられています。さらに、Pythonスタンドアロンビルドには、動作の癖のページがあります。
ソース
ポータブルCPythonビルドはGitHub(indygreg/python-build-standalone/releases)からダウンロードされ、SHA256ハッシュは一般的に検証されます。一部の古いバージョンでは、ハッシュが使用できない場合があり、その場合は検証がスキップされます。
使用方法
Pythonのバージョンを[email protected]
(または単にmajor.minor.patch
)に固定すると、Ryeは必要なときに自動的に適切なバージョンをダウンロードします。カスタムツールチェーンがその名前とバージョンで既に登録されている場合は、代わりにこれが使用されます。