از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
رفع خطای «نمیتوان بستهها را به دلیل خطای OSE نصب کرد: (WinError 2)»
سرفصلهای مطلب
معرفی
Python، یک زبان منبع باز که توسط بسیاری از توسعه دهندگان استفاده می شود، گاهی اوقات پیام های خطایی را به ما ارائه می دهد که رمزگشایی آنها ممکن است دشوار باشد. یکی از این پیغامهای خطا این است: «نمیتوان بستهها را به دلیل خطای OSE نصب کرد: (WinError 2) سیستم نمیتواند فایل مشخصشده را پیدا کند.
در این بایت، نگاهی دقیقتر به این پیام خطا خواهیم داشت، علل آن را درک میکنیم و راهحلهای متعددی برای کمک به رفع آن و حرکت به شما نشان میدهیم. روی.
درک خطا
“OSError: (WinError 2)” معمولا زمانی اتفاق می افتد که پایتون نمی تواند فایل یا دایرکتوری مورد نیاز خود را برای اجرای یک کار پیدا کند. این ممکن است به دلایل مختلفی باشد، مانند مسیرهای اشتباه فایل، مجوزهای ناکافی، یا چندین نسخه Python که باعث تداخل می شود.
توجه داشته باشید: در حالی که WinError 2
مختص سیستم عامل های ویندوز است، خطاهای مشابهی ممکن است رخ دهد روی سیستم عامل های دیگر نیز، اما ممکن است کمی متفاوت به نظر برسند. بنابراین درک راه حل های زیر ممکن است به شما در رفع خطاهای مشابه کمک کند روی سیستم های دیگر
راه حل 1: نصب بسته با گزینه –user
یکی از راه حل های رایج برای خطا، نصب بسته در دایرکتوری محلی کاربر با استفاده از --user
گزینه. این کار هرگونه مجوز در سراسر سیستم را دور می زند و بسته را در مکانی نصب می کند که کاربر کنترل کامل روی آن دارد.
$ pip install --user <package-name>
جایگزین کردن <package-name>
با نام بسته ای که می خواهید نصب کنید. اگر نصب بدون مشکل کار کند، باید خروجی مشابه زیر را ببینید:
$ pip install --user requests
Collecting requests
Downloading requests-2.25.1-py2.py3-none-any.whl (61 kB)
...
Installing collected packages: requests
Successfully installed requests-2.25.1
راه حل 2: اجرای CMD به عنوان Administrator
گاهی اوقات، مشکل را می توان با اجرای Command Prompt به عنوان مدیر حل کرد. این به Command Prompt مجوزهای بالا می دهد و ممکن است به پایتون اجازه دهد تا فایل ها یا دایرکتوری های لازم را پیدا کرده و به آنها دسترسی داشته باشد.
برای اجرای CMD به عنوان Administrator، کافیست کلیک راست کنید روی آیکون Command Prompt را انتخاب کنید و “Run as administrator” را انتخاب کنید. سپس دوباره سعی کنید بسته را نصب کنید.
راه حل 3: مقابله با چندین نسخه پایتون
اگر چندین نسخه از پایتون را نصب کرده اید روی سیستم شما، می تواند منجر به درگیری شود و منجر به خطای “OSError: (WinError 2)” شود. در این موارد باید مشخص کنید که از کدام نسخه پایتون می خواهید استفاده کنید.
توجه داشته باشید: با اجرای دستور می توانید نسخه فعلی پایتون را بررسی کنید python --version
.
اگر می خواهید از یک نسخه خاص پایتون استفاده کنید، می توانید این کار را با استفاده از py
لانچر و به دنبال آن شماره نسخه. به عنوان مثال، برای استفاده از پایتون 3.8، باید از دستور زیر استفاده کنید:
$ py -3.8 -m pip install <package-name>
البته تعویض کنید <package-name>
با نام بسته ای که می خواهید نصب کنید.
راه حل 4: تغییر مجوز دسترسی کاربر
گاهی اوقات، این خطا ممکن است به دلیل دسترسی ناکافی کاربر رخ دهد. این امر به ویژه زمانی رایج است که میخواهید بستهها را در فهرستی نصب کنید که حساب کاربری شما دسترسی نوشتن ندارد.
برای حل این مشکل، فقط مجوزهای دایرکتوری پایتون را تغییر دهید تا به حساب کاربری شما اجازه نصب بسته ها را بدهد. در اینجا روش انجام این کار آمده است:
- کلیک راست روی دایرکتوری پایتون را انتخاب کنید و “Properties” را انتخاب کنید.
- به تب “امنیت” بروید و کلیک کنید روی “ویرایش”.
- حساب کاربری خود را انتخاب کنید و کادر “کنترل کامل” را در زیر “مجوزها برای کاربران” علامت بزنید.
- برای ذخیره تغییرات روی “اعمال” و سپس “OK” کلیک کنید.
هشدار: هنگام تغییر مجوزهای دسترسی کاربر مراقب باشید. دادن کنترل کامل به یک کاربر به طور بالقوه می تواند سیستم شما را در معرض خطرات امنیتی قرار دهد!
راه حل 5: ایجاد یک محیط مجازی
راه دیگر برای حل “OSError: (WinError 2)” ایجاد یک محیط مجازی است. یک محیط مجازی یک دایرکتوری مستقل است که نصب و بسته های پایتون خود را دارد. هر محیط مجازی از یکدیگر جدا است، بنابراین تغییرات در یک env بر دیگری تأثیر نمی گذارد.
برای ایجاد یک محیط مجازی می توانید از venv
ماژولی که با پایتون 3 همراه است. در اینجا روش انجام این کار آمده است:
$ python3 -m venv myenv
این یک دایرکتوری جدید به نام “myenv” در فهرست فعلی شما ایجاد می کند. برای فعال سازی محیط مجازی می توانید از دستور زیر استفاده کنید:
$ source myenv/bin/activate
اکنون، باید بتوانید بسته ها را بدون مواجه شدن با “OSError” نصب کنید.
راه حل 6: پیکربندی venv برای گنجاندن بسته های سایت سیستم
اگر پس از ایجاد یک محیط مجازی همچنان با خطا مواجه شدید، می توانید پیکربندی را امتحان کنید venv
برای گنجاندن بسته های سایت سیستم. این بدان معناست که بسته های نصب شده در پایتون سیستم شما در محیط مجازی نیز در دسترس خواهند بود.
در اینجا روش انجام این کار آمده است:
$ python3 -m venv myenv --system-site-packages
این راه حل به ویژه زمانی مفید است که با چندین نسخه پایتون سروکار دارید. با گنجاندن بسته های سایت سیستم، می توانید اطمینان حاصل کنید که محیط مجازی شما به تمام بسته های نصب شده در پایتون سیستم شما دسترسی دارد.
نتیجه
در این بایت، ما به چندین راه حل برای OSError نگاه کردیم: (WinError 2) که هنگام تلاش برای نصب بسته های پایتون رخ می دهد. ما در مورد چگونگی تغییر مجوزهای دسترسی کاربر، ایجاد یک محیط مجازی و پیکربندی بحث کردیم venv
برای گنجاندن بسته های سایت سیستم.
به یاد داشته باشید، درک علت اصلی خطا برای انتخاب مناسب ترین راه حل مهم است. همیشه هنگام تغییر تنظیمات سیستم محتاط باشید و برای جلوگیری از مشکلات، یک محیط مجازی ایجاد کنید.
(برچسبها به ترجمه)# python
منتشر شده در 1402-12-29 17:04:02