Sửa lỗi 'python' is not recognized as an internal or external command trên Windows

beginner🪟 Windows2026-03-18| Windows 10/11, Python 3.x, Command Prompt / PowerShell

Error Message

'python' is not recognized as an internal or external command
#windows#python#path#environment

Tình huống

Bạn vừa cài Python, mở terminal mới, gõ python --version và nhận ngay cái này:

'python' is not recognized as an internal or external command,
operable program or batch file.

Hoặc hôm qua vẫn chạy tốt mà hôm nay tự nhiên hỏng. Dù thế nào, script của bạn đang tắc và bạn cần xử lý ngay bây giờ.

Nguyên nhân thực sự

Windows tìm kiếm lệnh bằng cách quét danh sách các thư mục gọi là PATH. Gõ python là nó sẽ tìm file python.exe trong từng thư mục đó. Không tìm thấy thì không chạy được — chỉ ra cái lỗi đó thôi.

Các nguyên nhân thường gặp:

  • Bạn cài Python nhưng bỏ qua ô "Add Python to PATH" trong trình cài đặt — dễ bỏ sót, rất phổ biến.
  • Có nhiều phiên bản Python được cài và xung đột nhau.
  • Một lần cài hoặc gỡ cài đặt khác đã làm thay đổi hoặc hỏng PATH của bạn.
  • Terminal đang mở sẵn khi bạn cài Python. Các phiên cũ không nhận thay đổi PATH mới.

Kiểm tra nhanh trước

Chạy lệnh này trước khi động vào bất kỳ cài đặt nào:

where python

Kết quả như C:\Users\TenBan\AppData\Local\Programs\Python\Python312\python.exe nghĩa là Python đã được cài — chỉ là chưa có trong PATH. Không có kết quả nào nghĩa là Python chưa được cài. Hãy cài trước rồi quay lại đây.

Cũng đáng thử:

py --version

Chạy được ở đây nhưng không chạy được với python? Windows Python Launcher đã có, nhưng alias python chưa có trong PATH. Các cách sửa bên dưới sẽ giải quyết điều đó.

Cách sửa 1: Khởi động lại terminal

Vừa cài Python xong? Đóng tất cả cửa sổ terminal đang mở và mở một cái mới. Thay đổi PATH không được áp dụng vào các phiên đang chạy. Cách này một mình có thể giải quyết khoảng 20% trường hợp — đáng thử trước khi làm gì khác.

Cách sửa 2: Chạy lại trình cài đặt với ô "Add to PATH" được chọn

Bỏ qua ô đó lúc cài? Cách sạch nhất là để trình cài đặt tự thêm đường dẫn cho bạn:

  • Vào Settings → Apps → Installed Apps, tìm Python, nhấn Modify.
  • Chọn Modify một lần nữa trong hộp thoại trình cài đặt.
  • Ở màn hình Optional Features, nhấn Next.
  • Ở Advanced Options, tích chọn "Add Python to environment variables".
  • Nhấn Install.

Mở terminal mới và kiểm tra:

python --version

Cách sửa 3: Thêm Python vào PATH thủ công

Không muốn chạy lại trình cài đặt? Thêm đường dẫn trực tiếp.

Tìm vị trí cài Python của bạn

where python
:: hoặc nếu lệnh trên thất bại:
dir /s /b C:\python.exe 2>nul
dir /s /b "%LOCALAPPDATA%\Programs\Python\python.exe" 2>nul

Các vị trí cài thường gặp:

  • C:\Users\TenBan\AppData\Local\Programs\Python\Python312\
  • C:\Python312\
  • C:\Program Files\Python312\

Thêm hai thư mục vào PATH: thư mục gốc Python (chứa python.exe) và thư mục con Scripts (chứa pip, pytest và các công cụ khác).

Qua System Properties (giao diện đồ họa)

  • Nhấn Win + R, gõ sysdm.cpl, nhấn Enter.
  • Vào Advanced → Environment Variables.
  • Trong phần User variables, chọn Path và nhấn Edit.
  • Nhấn New và thêm cả hai đường dẫn trên các dòng riêng biệt:

C:\Users\TenBan\AppData\Local\Programs\Python\Python312 C:\Users\TenBan\AppData\Local\Programs\Python\Python312\Scripts

  
  - Nhấn **OK** trên tất cả hộp thoại.

### Qua PowerShell (nhanh hơn)

Thay bằng vị trí Python thực tế của bạn

$pythonPath = "C:\Users$env:USERNAME\AppData\Local\Programs\Python\Python312" $scriptsPath = "$pythonPath\Scripts"

[System.Environment]::SetEnvironmentVariable( "Path", $env:Path + ";$pythonPath;$scriptsPath", [System.EnvironmentVariableTarget]::User )


Đóng và mở lại terminal sau khi chạy lệnh này — phiên hiện tại sẽ không phản ánh thay đổi.

## Cách sửa 4: Xung đột Python 2 và Python 3
Một số cài đặt ánh xạ `python` sang Python 2 và `python3` sang Python 3. Kiểm tra xem máy bạn thực sự có gì:

where python where python3 where py


Chỉ dùng Python 3? Hãy đảm bảo thư mục Python 3 xuất hiện **trước** thư mục Python 2 trong PATH. Mở hộp thoại Environment Variables và dùng nút **Move Up** để sắp xếp lại thứ tự.

## Kiểm tra kết quả
Mở một terminal **hoàn toàn mới** — đừng dùng lại cái cũ — và chạy cả ba lệnh:

python --version python -c "import sys; print(sys.executable)" pip --version


Kết quả mong đợi:

Python 3.12.x C:\Users\TenBan\AppData\Local\Programs\Python\Python312\python.exe pip 24.x.x from ... (python 3.12)


Cả ba đều hoạt động? Xong rồi đó.

## Vẫn không được?
Windows đôi khi chặn lệnh `python` và âm thầm chuyển hướng sang Microsoft Store. Kiểm tra xem binary nào đang thực sự chạy:

Trong PowerShell

Get-Command python | Select-Object Source


Source hiển thị gì đó như `C:\Users\...\AppData\Local\Microsoft\WindowsApps\python.exe`? Đó là stub — một placeholder giả mạo mở Store thay vì chạy Python. Hãy tắt nó đi:

  - Mở **Settings → Apps → Advanced app settings → App execution aliases**.
  - Tắt **python.exe** và **python3.exe**.
  - Mở lại terminal và thử lại.

Khi stub đã bị tắt, Windows sẽ quay lại dùng binary Python thật trong PATH của bạn.

Related Error Notes