はじめに
普段、Windows環境でSeleniumを使ったPythonスクレイピングスクリプトを活用されている方も多いかと思います。私もその一人ですが、Windows 10からWindows 11へアップグレードした直後、これまで問題なく動いていたPythonファイルが突然動かなくなるという現象に直面しました。
本記事では、そのときの症状や原因調査の流れ、最終的に行った解決方法を備忘録としてまとめております。同様のトラブルに悩んでいる方の参考になれば幸いです。
症状:Pythonファイルが一瞬で消えて実行されない
Windows 11へアップグレード後、いつも通りにスクレイピング用のPythonファイル(.py
)をダブルクリックで実行したところ、以下のような症状が発生しました。
- コマンドプロンプトが一瞬だけ表示された後、すぐ閉じてしまう
- Pythonファイル内の処理は一切実行されない
- エラーメッセージなども特に残らない
一見すると「何も起きていない」ように見えるため、原因特定に非常に苦労しました。
試したこと:Pythonと環境まわりの調査
この現象を解決すべく、まずは以下の確認と調査を行いました。
1. Pythonのバージョン確認
python --version
このコマンドを実行したところ、「Python」としか表示されず、バージョン番号が表示されませんでした。これは Microsoft Store 経由の「App Execution Alias」 が先に呼び出され、本物の python.exe
に到達していない状態であることを意味しています。
2. Edgeブラウザーのバージョン確認
Seleniumでブラウザーを操作する必要があるため、念のため edge://settings/help
にアクセスし、Microsoft Edgeのバージョンも確認しました。
3. コマンドプロンプトから各種インストールを試行
pip install selenium
python -m venv venv
など、仮想環境の作成や依存ライブラリのインストールを試しましたが、うまく動かない状態が続きました。
解決方法:Jupyter Labでコードを一行ずつ実行して特定
最終的に、エラーの特定とデバッグを行うために Jupyter Lab を導入しました。
python -m pip install --upgrade pip setuptools wheel
python -m pip install "jupyterlab<4" "pywinpty<2"
jupyter lab
Jupyter Lab 上でスクリプトを一行ずつ実行してみたところ、以下のようなエラーが確認できました。
ModuleNotFoundError: No module named 'selenium'
このエラーにより、Seleniumライブラリが導入されていなかったことが原因と分かりました。以前の環境では既に導入済みだったため、気付かずに見落としていました。
解決コマンド
Jupyter Lab 上、またはコマンドプロンプトで次のコマンドを実行し、正常に動作するようになりました。
!pip3 install selenium
これで、スクレイピングスクリプトが正常に動作するようになりました。
腑に落ちないこと:なぜ自分の環境だけ問題が起きたのか?
同じPythonファイルを使っている同僚のPCでは、Windows 11でも特に何の問題もなく動作していました。また、Seleniumをインストールした記憶がないとのことでした。
私の環境でだけライブラリが消えていた理由は不明です。考えられる可能性としては:
- Windows 11へのアップグレード時に環境変数やPATH設定が書き換えられた
- pipで導入したパッケージが初期化された
- App Execution Aliasが優先され、正しいPython環境にアクセスできていなかった
といった点が挙げられます。
まとめ
- Windows 11へアップグレード後、Pythonファイルが実行されなくなった
python --version
が正しく表示されず、環境が壊れていた- Jupyter Lab を使って一行ずつ検証し、
selenium
が導入されていないことが原因と判明 pip install selenium
で問題は解決
今後、環境をアップグレードする際は、Python 実行環境やライブラリの再確認を忘れずに行うべきだと痛感しました。