将来のPythonバージョン(3.12など)に一般のユーザーに先駆けてアクセスする方法

How to get early access to future Python versions (such as 3.12) as a regular user.

そしてテストドライブしてみましょう

Midjourney による画像

新しい Python バージョンには常に、ゲームに大幅な改善がもたらされます。たとえば、3.11 を見てみましょう。60% のパフォーマンス向上が約束され、昨年の 10 月に実現しました。

新しい機能の約束に加えて、リリース前の Python のバージョンをテストすることで、開発者はバグをより早く見つけることができ、他の人たちにも開発プロセスに参加してもらえます。新機能を使って他の人たちよりも先に競争優位性を得ることもできます。

これらが説得力のある理由に聞こえないかもしれませんが、ソーシャルメディアで、他の人たちよりも新しい Python バージョンをチェックしたことを自慢するのはいつでもカッコイイです。

それでは始めましょう。

ステップ 0:Docker をインストールする

Python の新しいバージョンにアクセスできない理由は、それらがよく隠されているからです。Python.org にダウンロードリンクはありません。代わりに、公式の Python Docker イメージページにホストされています。

私によるスクリーンショット

ご覧のとおり、このイメージは 10 億以上のダウンロードがあります。少しスクロールすると、Python イメージの異なるバリアントが表示されます。

私によるスクリーンショット

リリース前の Python 3.12 をインストールしたいのですが、数十種類のバリアントがあります。どれを選ぶべきでしょうか?

それに答える前に、Docker Desktop がインストールされ、CLI で正常に docker --version を実行できることを確認してください。

Docker イメージとコンテナを使用する理由は、セキュアで隔離されているためです。Python 3.12 がコンテナ内にある場合、環境を破壊することはありません。何よりも、コンテナ以外の選択肢はありません 🙂

このチュートリアルでは Docker について何も知る必要はありません。

ステップ 1:イメージの選択

では、Python イメージタグ名の alpinercbookwormslimbullseyeとは何を意味するのでしょうか?これらの用語は、各イメージで使用される基本オペレーティングシステムについて私たちに情報を提供するために使用されます。以下に定義を示します。

  • alpinealpine タグを使用したイメージは、小さなサイズとセキュリティに焦点を当てた設計で知られる Alpine Linux ディストリビューションを使用しています。
  • bookworm: Bookworm は Debian OS 12 のコードネームで、安定性と幅広いソフトウェア適応性で知られる人気のあるディストリビューションです。
  • bullseye(クールな名前): Bullseye は Debian(バージョン 11)の別のコードネームです。
  • slim:より小さなサイズのフットプリントに焦点を当てて構築されたイメージのバリアントです。これらのイメージは、Python アプリケーションを実行するために必要な基本コンポーネントと依存関係のみを含むように削減されており、より軽量で効率的になっています。
  • 0bn0b で始まるタグはベータリリースを表します。たとえば、0b2 イメージは Python 3.12 Beta 2 バージョンです。Python 3.12 の最終ベータリリース(0b4)は、2023 年 7 月にリリースされます。
  • rc:このタグを持つイメージはリリース候補です。RC は、さらなるテストとフィードバックを待って、潜在的に安定してリリースできると考えられています。

そして、私たちはそのリリース候補のうちの 1 つを選びます。具体的には、3.12-rc-bookworm です。Debian 12 です。

Python 3.12のリリーススケジュールはこちらをご覧ください。

ステップ2:イメージの取得

はじめに、Docker Desktopが稼働中かどうかを確認するには、アプリケーションを起動してステータスを確認してください:

Image by me

次に、任意のターミナルで、以下のコマンドを実行して待機します:

$ docker pull python:3.12-rc-bookworm

このコマンドは、公式のDocker Hubからイメージを取得します。

待つ間に:Dockerイメージは、コード、ランタイム、システムツール、ライブラリ、設定を含む、ソフトウェアを実行するために必要なすべてが含まれた、軽量でスタンドアロンで実行可能なパッケージです。

一方、Dockerコンテナは、Dockerイメージの実行中のインスタンスです。イメージの取得が完了したら、そのようなコンテナを起動します。

近代データサイエンティストのためのDocker:2023年に無視できない6つの概念

説明を編集する

towardsdatascience.com

ステップ3:コンテナの起動

ドラムロールをお願いします!私たちは、まず初めてのPython 3.12にキーボードを置くことになります。それを行うためのコマンドは…(あなたの部分での劇的な沈黙):

$ docker run -it python:3.12-rc-bookwormPython 3.12.0b2 (main, Jun 14 2023, 17:45:20) [GCC 12.2.0] on linuxType "help", "copyright", "credits" or "license" for more information.>>>

そこで、ジェントルマンたち。このコマンドは、3.12-rc-bookwormイメージからコンテナを起動し、-itタグを追加してPythonインタープリタを起動しました。これで、インタラクティブシェル内で行うことができるすべてのことができます。

アイデアをいくつか挙げるには、公式ドキュメントの「What’s new in 3.12」記事を参照してください。最初に改善されたエラーメッセージを試してみることをお勧めします。

シェルとコンテナを終了するには、exit()を実行してください。

ステップ4:VSCodeをコンテナにリンクする

ここまで来て、単なるシェルでいくつかの式を実行するためにやってきたわけではないと思ったでしょう?

いいえ。Python 3.12のコンテナをVSCodeにリンクし、新しいバージョンを実際にテストするためにいくつかのスクリプトを書きます。

したがって、マシンの任意のディレクトリで、VSCodeを開きます(Pythonとデータサイエンスに構成されていることを願っています)。

$ cd some_dir$ code . # Launches VSCode

次に、Remote Development拡張機能をインストールします:

Image by me

VSCodeを再読み込みします。次に、Docker Desktopに移動して、[Containers]メニューをクリックします:

Image by me

実行中のコンテナのリストが表示されます。私のバージョンのPython 3.12はadoring_diracと呼ばれています。現時点では、CLIのPythonシェルを終了したので実行されていません。再生ボタンを押すと、コンテナが起動されます。

次に、再びVSCodeに移動して、コマンドパレット(Ctrl + Shift + P)を開き、「実行中のコンテナにアタッチ」を検索します。以下は、役に立つGIFです:

Python 3.12をベースイメージとした実行中のコンテナインスタンスをクリックすると、コンテナに直接リンクされた新しいVSCodeウィンドウがポップアップします。

このコンテナはオペレーティングシステムから分離されているため、作成または編集したファイルや起動したターミナルセッションなどは分離され、表示されません。

つまり、Python 3.12をテストするためにコンテナ内で何でも試すことができます。スクリプトの作成以外に、

Conda、Git、DVCなどの他のソフトウェアをインストールしたり、コンテナをまるでPython 3.12がインストールされた新しい空のコンピューターのように扱うこともできます。

結論

この方法を将来のPythonバージョンの他のツールやライブラリに適用することもできます。たとえば、TensorFlowやPyTorchなどの人気フレームワークは、Docker Hubで公式のDockerイメージが利用可能です。

これらの公式イメージを利用することで、GPUサポートを備えたフレームワークを簡単にセットアップでき、複雑さや課題を排除することができます。Dockerコンテナは事前に設定されており、手間のかからないインストール体験を保証します。

読んでいただきありがとうございます!

この記事と、その奇妙な文体を気に入っていただけましたか?私のような素晴らしい、魅力的でウィットに富んだ著者の(私ですが)書いた数十の記事にアクセスできるようになります。

わずか4.99ドルの会員費で、VoAGIの最高かつ最も優れたマインドからの知識の宝庫だけでなく、私の物語にもアクセスできます。また、私のリファラルリンクを使用すると、私の仕事をサポートしていただいたことに対する私の超新星の感謝とバーチャルハイファイブを獲得できます。

VoAGIのメンバーとして、会員費の一部があなたが読んだ作家に寄付され、すべての物語に完全にアクセスできます…

ibexorigin.medium.com

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more