رفع خطاهای پایتون

خطای pip is not recognized در ویندوز؛ رفع کامل مشکل pip و PATH

خطای pip is not recognized در ویندوز؛ رفع کامل مشکل pip و PATH

🗓 آخرین به‌روزرسانی:

بعد از نصب پایتون در ویندوز، بسیاری از کاربران هنگام اجرای pip install با پیام 'pip' is not recognized as an internal or external command, operable program or batch file. روبه‌رو می‌شوند. این پیام خطای خود پایتون نیست؛ پیام ویندوز است و می‌گوید فرمانی به نام pip را در مسیرهای سیستم (PATH) پیدا نکرده است.

معنی خطای 'pip' is not recognized as an internal or external command در پایتون

ویندوز برای اجرای هر فرمان در CMD یا PowerShell، پوشه‌های فهرست‌شده در متغیر محیطی PATH را می‌گردد. pip معمولاً در پوشه Scripts کنار محل نصب پایتون قرار دارد. اگر هنگام نصب گزینه Add python.exe to PATH را تیک نزده باشید، ویندوز نه python و نه pip را پیدا نمی‌کند. خبر خوب: معمولاً بدون هیچ تنظیمی می‌توانید از لانچر py استفاده کنید.

علت‌های رایج این خطا

  • هنگام نصب پایتون گزینه Add python.exe to PATH تیک نخورده است.
  • پنجره CMD قبل از نصب پایتون باز بوده و PATH جدید را نمی‌شناسد.
  • چند نسخه پایتون نصب است و PATH به نسخه‌ای بدون pip اشاره می‌کند.
  • pip همراه پایتون نصب نشده است (در نصب‌های سفارشی).

کد غلط و کد درست

اجرای مستقیم pip (خطا)

C:\Users\me> pip install requests
'pip' is not recognized as an internal or external command,
operable program or batch file.

اجرای pip از طریق پایتون (درست)

این روش در اغلب موارد بدون تنظیم PATH کار می‌کند و تضمین می‌کند بسته در همان پایتونی نصب شود که اجرا می‌کنید:

py -m pip install requests
# or, if python is on PATH:
python -m pip install requests

# check the pip version
py -m pip --version

اگر خود pip نصب نیست

py -m ensurepip --upgrade
py -m pip install --upgrade pip

راه‌حل قدم‌به‌قدم

  1. یک پنجره جدید CMD یا PowerShell باز کنید و دوباره امتحان کنید (پنجره قدیمی PATH جدید را نمی‌شناسد).
  2. به جای pip از py -m pip یا python -m pip استفاده کنید.
  3. اگر py هم شناخته نشد، نصب‌کننده پایتون را دوباره اجرا کنید، گزینه Modify را بزنید و تیک Add Python to environment variables را فعال کنید.
  4. در صورت نیاز، مسیر پوشه پایتون و پوشه Scripts آن (مثلاً %LocalAppData%\Programs\Python\Python313\Scripts) را دستی به PATH اضافه کنید.
  5. با py -m pip --version مطمئن شوید pip کار می‌کند و مسیر آن را ببینید.

خواندن پیام 'pip' is not recognized و عیب‌یابی

این خطا اصلاً از خود پایتون نیست؛ پیام Command Prompt یا PowerShell ویندوز است. ویندوز وقتی دستوری مثل pip را می‌بیند، پوشه‌های ثبت‌شده در متغیر PATH را یکی‌یکی می‌گردد و اگر فایل pip.exe را در هیچ‌کدام پیدا نکند همین پیام را چاپ می‌کند. پس مشکل یا نصب نبودن pip است یا ثبت نشدن پوشه Scripts در PATH.

ساده‌ترین راه تشخیص این است که از خود پایتون بپرسید کجا نصب شده و آیا ماژول pip را می‌شناسد. اسکریپت زیر مسیر مفسر فعلی، محل فایل اجرایی pip در PATH و نسخه pip را نشان می‌دهد. اگر خط دوم None چاپ شود ولی خط سوم نسخه را نشان دهد، یعنی pip نصب است و فقط PATH ناقص است؛ در این حالت دستور python -m pip همیشه کار می‌کند.

بررسی مسیر پایتون و pip با یک اسکریپت

import shutil
import subprocess
import sys

print("Python:", sys.executable)
print("pip on PATH:", shutil.which("pip") is not None)
result = subprocess.run([sys.executable, "-m", "pip", "--version"],
                        capture_output=True, text=True)
print("pip module works:", result.returncode == 0)

خروجی (اجراشده با Python 3.13):

Python: /workspace/devsource/articles/venv/bin/python
pip on PATH: True
pip module works: True

قدم‌به‌قدم رفع پیام ‘pip’ is not recognized در ویندوز

این پیام را Command Prompt یا PowerShell ویندوز چاپ می‌کند، نه پایتون؛ پس traceback ای وجود ندارد و باید مسیرهای ویندوز را بررسی کنید.

  1. متن دقیق پیام را ببینید: در CMD عبارت is not recognized as an internal or external command و در PowerShell عبارت The term ‘pip’ is not recognized می‌آید؛ هر دو یعنی فایل pip.exe در PATH پیدا نشده.
  2. با py -0 نسخه‌ها را ببینید: اگر py launcher جواب می‌دهد، پایتون نصب است و مشکل فقط PATH است.
  3. py -m pip –version را اجرا کنید: اگر نسخه چاپ شد، pip سالم است و می‌توانید همیشه به همین شکل از آن استفاده کنید.
  4. مسیر Scripts را پیدا کنید: با where python یا py -c “import sys; print(sys.prefix)” پوشه نصب را ببینید؛ pip.exe در زیرپوشه Scripts آن است.
  5. PATH را اصلاح کنید: در Edit the system environment variables مسیر پوشه Scripts را به Path کاربر اضافه کنید، ترمینال را ببندید و pip –version را دوباره امتحان کنید.

چک‌لیست پیشگیری

  • هنگام نصب پایتون گزینه Add python.exe to PATH را حتماً تیک بزنید.
  • به جای pip از python -m pip یا py -m pip استفاده کنید تا pip همان نسخه پایتون را هدف بگیرد.
  • بعد از تغییر PATH، پنجره ترمینال را ببندید و دوباره باز کنید؛ ترمینال باز تغییرات را نمی‌بیند.
  • در هر پروژه یک محیط مجازی بسازید؛ داخل venv فعال، دستور pip همیشه در دسترس است.
  • اگر چند نسخه پایتون دارید، با py -0 فهرست نسخه‌ها را ببینید تا بدانید pip کدام را تغییر می‌دهد.

📌 همچنین بخوانید: خطای unexpected EOF while parsing در پایتون، خطای ‘int’ object is not subscriptable در پایتون و خطای ImportError

سؤالات متداول

فرق pip و py -m pip چیست؟

هر دو یک کار را انجام می‌دهند، اما py -m pip مستقیماً از طریق مفسر پایتون اجرا می‌شود و به PATH وابسته نیست؛ همچنین مشخص است بسته در کدام نسخه پایتون نصب می‌شود.

python هم is not recognized است؛ چه کنم؟

همان مشکل PATH است. از py استفاده کنید یا پایتون را با تیک Add to PATH دوباره نصب کنید. گاهی ویندوز به جای پایتون، میانبر Microsoft Store را اجرا می‌کند که باید از App execution aliases غیرفعالش کنید.

در مک و لینوکس چطور؟

در این سیستم‌ها معمولاً از python3 -m pip استفاده می‌شود و بهتر است بسته‌ها را داخل یک محیط مجازی (venv) نصب کنید.

چرا python کار می‌کند اما pip نه؟

چون پوشه اصلی پایتون در PATH است ولی پوشه Scripts که pip.exe داخل آن قرار دارد اضافه نشده است. افزودن مسیر Scripts یا استفاده از python -m pip مشکل را حل می‌کند.

آیا نصب دوباره پایتون لازم است؟

معمولاً نه. اجرای python -m ensurepip –upgrade فایل‌های pip را بازمی‌گرداند و افزودن پوشه Scripts به PATH بقیه کار را انجام می‌دهد.

این خطا در مک و لینوکس هم پیش می‌آید؟

بله، با پیام command not found. آنجا معمولاً باید از pip3 یا python3 -m pip استفاده کنید یا بسته python3-pip را نصب کنید.

آموزش‌های مرتبط

آموزش‌های تازه، کد آماده و رفع خطاهر هفته در کانال Dev Source؛ رایگان.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *