Windows StoreのPythonを利用してPyCaret環境を作る

結局、Windows11+Anacondaの環境で、PyCaretのインストールは、conda install が10時間経っても終わらず、やむなく中断。別のPCで以前に作った作業環境は別に持っているのですが、新規で入れようとするとどうも依存性問題に時間がかかりすぎるため、Windowsストア版のPythonで作る事を試してみました。

結果的に言えば、こちらの方が遥かに簡単にできました。Anaconda遅いし面倒だしと、もういらないかなあとさえ思われる結果。

まずはPython

Microsoft Storeアプリを開き、”Python”で検索すると、幾つかのバージョンがリストに挙がります。

この中で自分が入れたいPyCaretの要件にあうバージョンを選択してインストールします。今回はPyCaret=2.3.10を入れることを目標に、Python=3.8を選択しました。インストールするとメニューには"Python 3.**" といった項目が追加され、実際に起動すると以下のようなコンソールが起動します。

実際には、 C:\Users\(ユーザー)\AppData\Local\Microsoft\WindowsApps\python3.8.exe" としてインストールされていました。

仮想環境の作成

ここでは \work ディレクトリを作成して、その下に venvというディレクトリに環境を作る想定で進めます。PowerShellコンソールを開いて作業しました。仮想環境を作ってActivateし、pip のアップデートまでを行います。

mkdir c:\work
cd C:\work
python -m venv venv
cd venv/Scripts
./activate
python -m pip install --upgrade pip

PyCaretのインストール

次のようにpipでインストールします。バージョンを指定しない場合には、現在(2023/4/20)ではバージョン3がインストールされるようです。

pip install pycaret==2.3.10

ここで次のようなエラーが出た場合には、c:\work\pyvenv.cfgを編集します。

ERROR: Can not perform a '–user’ install. User site-packages are not visible in this virtualenv.

エディターで pyvenv.cfgを編集し、
include-system-site-packages = true 
にして保存して、改めて pip install してみてください。

基本的にはこれで終わり

上記までの手順で、PyCaret 2.3.10と依存性のあるモジュールについてインストールされています。その他、必要なモジュールを同様にインストールして作業環境を作ってください。

なお仮想環境に関しては、作成したディレクトリの Scriptsの中の activate を起動して作業し、抜ける時は deactivate を起動します。

あと自分の場合はPyCharmというIDEを使って作業するわけですが、右下の"Pythonインタープリター"から、”ローカルインタープリターの追加・・”

先ほどインストールした仮想環境のディレクトリと、Pythonのパスを指定します。必要に応じてグローバル版のパッケージを複写しておくと楽かもしれません。

これで、自分が作ったスクリプトの実行条件を設定すれば、Anaconda版と同様に実行、デバッグが動きました。Visual Studio Codeなどを使っている方も、同様な設定で実行環境を作ることができるのではと思います。

結果的にはconda で管理するより、pipでPyPIから拾ってくる方が遥かに速くて簡単だったという結末でした。AnacondaもJupyterNotebookとかJupyterLabなどが最初から動く環境が作れるといったメリットはありますが、モジュールの管理が独自なのとconda-forgeでも最新版モジュールが使えない。

何よりMicrosoft Storeでこんなに簡単にPythonの実行環境が作れるようになったとは驚きです。おそらく本家からインストーラーを落として作るよりも楽なんじゃないでしょうか。Pythonのバージョンを混在させた時の管理・挙動などは調べてみる必要がありそうですけど、今回の件で見直しましたよ。