How to update Python from Tar&Flash-Attention2 for Pytorch 2.7.1+cu128
2025年8月10日、旧来の方法が完全に通用しなくなった為、完全に手順を改稿しました。
さて、現在私のPython環境は、グローバル環境に3.11.9をインストールして主にA1111、Forge、reForge等で使用し、ComfyUIは3.11.9環境からは完全に分離されたEmbeded環境の3.12.xを併用する形になっています。
んで、ここからが本題ですが、3.11.xにしろ3.12.xにしろ、最新版が常にインストーラー形式で配布されているかというとそうではなく、最新版になるとTar形式でしか配布されないようになっています。
主にセキュリティ方面の更新であることが多く、インストーラーが付属しない割に、更新そのものが推奨事項になっていたりしますが。
3.11最新版の3.11.13は以下です。既に開発が完了し、3.14.xも投入されつつあるのが現状です。
今回、このtar形式のソースコードからビルドを行い、既存の3.11.9に上書きする作業を行いました。以下、3.11.13への更新に関する解説になっていますが、最新版が更新されても手法は同じです。
Python 3.11.9 → 3.11.13 ソースビルド更新手順
以下は私のPC環境のパスで実行しているので、必要次第、パスは変更してください。
前提条件
Visual Studio Build Tools 2019以降がインストール済み
Gitがインストール済み
既存のPython 3.11.9がインストール済み
手順
1. 作業ディレクトリの準備
mkdir C:\python-build
cd C:\python-build2. CPythonソースコードの取得
git clone https://github.com/python/cpython.git
cd cpython
git checkout v3.11.133. ビルド環境の準備
python -m pip install --upgrade pip setuptools wheel4. Pythonのビルド
cd PCBuild
.\build.bat -p x64 -c Release5. ビルド結果の確認
.\amd64\python.exe --version期待される出力: `Python 3.11.13`
6. 既存のPythonインストールへのコピー
copy "amd64\python.exe" "C:\Users\ussoe\AppData\Local\Programs\Python\Python311\"
copy "amd64\pythonw.exe" "C:\Users\ussoe\AppData\Local\Programs\Python\Python311\"
copy "amd64\python311.dll" "C:\Users\ussoe\AppData\Local\Programs\Python\Python311\"
copy "amd64\python3.dll" "C:\Users\ussoe\AppData\Local\Programs\Python\Python311\"
copy "amd64\*.dll" "C:\Users\ussoe\AppData\Local\Programs\Python\Python311\"
cd ..
xcopy /E /I "Lib" "C:\Users\ussoe\AppData\Local\Programs\Python\Python311\Lib\"
xcopy /E /I "Include" "C:\Users\ussoe\AppData\Local\Programs\Python\Python311\Include\"
copy "LICENSE" "C:\Users\ussoe\AppData\Local\Programs\Python\Python311\" -ErrorAction SilentlyContinue
copy "README.rst" "C:\Users\ussoe\AppData\Local\Programs\Python\Python311\" -ErrorAction SilentlyContinue7. 更新の確認
python --version
python -c "import sys; print(f'Python {sys.version}')"
python -c "print('Hello, Python 3.11.13!')"8. 後処理と確認
pip --version
pip list
python -m ensurepip --upgrade
python -c "import pip; print('pip is working')"
python -c "import setuptools; print('setuptools is working')"注意事項
ビルドには時間がかかります(30分〜1時間程度)
十分なディスク容量が必要です(数GB)
既存のPythonパッケージは保持されますが、動作確認を推奨します
問題が発生した場合は、元のPythonインストールのバックアップを取っておくことをお勧めします
トラブルシューティング
`setup.py build`は使用しない(Windowsでは`PCBuild\build.bat`を使用)
ビルド出力は`PCBuild\amd64`ディレクトリに配置される
デバッグビルドではなくReleaseビルドを使用する(`-c Release`オプション)
…
さて、Pytorch 2.7.1+cu128の登場に合わせて、Windows用のFlash-Attention2もビルドしました。前回同様に2.7.4 post1です。Python 3.11用と3.12用を公開しました。
尚、最新のFA2は2.8.0 post2が公開されていますが、現在上記事内で紹介しているバッチファイルではビルドできません。Manus先生と相当時間かけて検討しましたが、無理でした。
恐らく、作者殿自身も問題点は認識しているとは思いますが、作者殿の技術に期待するしかありません。とりあえず、現時点の私には無理でした。
