我平時在 Windows 上需要用到 Python 時,都是在 WSL2 裡執行的。或者在 Multipass 上的 instance 執行。
而最近想試用的 PyAutoGUI 去操作 Windows 滑鼠、鍵盤等做一些自動化的工作。 但奈何這些操作無法在 WSL2 執行。所以我必須在 Windows 環境下執行 Python.
我其實是不想在 Windows 上安裝 Python 的,畢竟之前在 Windows 上想安裝 pyenv + MS Store 上的 Python + poetry 時,安裝得相當折騰。左有問題,右有問題,一時 MS Store 版 Python 報錯,一時防毒軟件說不記得哪個程式上會執行 vbs 檔案,禁止執行云云。另外我也不想安裝 Anaconda.
所以我只好找找看有沒有免安裝的 Portable Python 可以用。然後篩選了下,有兩個可能適合大眾的方案。
1. WinPython
WinPython 這是我目前找到最方便的替代方法,你可以在這裡查看它不同版本的分別。
主要來說,WinPython64-XXXdot
最後有 dot
字眼的便是最小化版本。而沒有 dot
的版本,便會自帶不少常用的 Python packages.
優點:有持續更新、開源、集成了實用的工具 (e.g. pip
, Jupyter Lab
)、有自帶 Python packages 的版本。
缺點:好像不見有明顯缺點,如果有不集成 pip
以外的工具的版本便最佳了。
使用方法
我下載的版本是目前最新版的 Winpython64-3.10.2.0dot.exe, 你看到這篇文時,可能有更新的版本。
下載後可以選擇解壓縮的位置
然後我解壓縮後的位置在 C:\Users\oldestdream\Downloads\WPy64-31020\
, python 在 python 資料夾,而 pip 的位置在其底下的 Scripts 資料夾。
# Python 位置
\WPy64-31020\python-3.10.2.amd64
# pip 位置
\WPy64-31020\python-3.10.2.amd64\Scripts
以用 pip 安裝 PyAutoGUI 為例:
C:\Users\oldestdream\Downloads\WPy64-31020\python-3.10.2.amd64> .\Scripts\pip.exe install pyautogui
可以用它集成的 WinPython Powershell Prompt.exe
,那便不用在意 PATH 的問題了。
而我只是用來測試 PyAutoGUI,所以便不建立 virtual environment 了。畢竟只是依賴 Windows 的操作有關我才會用它。其他情況還是在 Linux / macOS / 線上執行方便呢。
如果長用,建議還是解壓縮去一個更好的位置,加入 PATH 之中,再建立 virtual environment (venv) 來安裝 Python packages.
2. Python 官方免安裝版
另外,自 Python 3.5 開始,就已經有 Windows embeddable 版本可供下載。
優點:官方推出,可以安裝最新/特定的版本 (≥ 3.5)。