نسخه “Bookworm” Raspberry Pi OS، همانطور که در Raspberry Pi 5 استفاده می شود، تغییراتی را در نحوه نصب ماژول های Python ایجاد می کند.
تعاریف کلیدی
- Raspberry Pi OS Bookworm به نصب بسته های پایتون در یک محیط مجازی برای جلوگیری از درگیری با نسخه سیستمی پایتون نیاز دارد.
- شما می توانید از مدیر بسته apt برای جستجو و نصب بسته های پایتون استفاده کنید، اما اگر بسته در دسترس نیست یا به نسخه جدیدتری نیاز دارید، باید از ابزار pip در یک محیط مجازی استفاده کنید.
- هرگونه تغییر یا نصبی که در محیط مجازی انجام شود، بر نسخه سیستمی پایتون تأثیری نخواهد داشت.
آیا در نصب بسته های پایتون با استفاده از ابزار “pip” در Raspberry Pi OS Bookworm مشکل دارید؟ چند مرحله اضافی وجود دارد که باید انجام دهید، شامل ایجاد یک محیط مجازی پایتون. در اینجا نحوه انجام آن آمده است.
چه چیزی در کتاب کرم Raspberry OS تغییر کرده است؟
از آنجایی که Raspberry Pi 5 با نسخه های قبلی Raspberry Pi OS ناسازگار است، باید نسخه جدید “Bookworm” را روی آن نصب کنید. این یکی از مواردی است که هنگام تغییر به Raspberry Pi 5 از یک مدل قبلی باید در نظر گرفت.
در نسخه های قبلی سیستم عامل Raspberry Pi OS مبتنی بر دبیان (Buster و نسخه های قبلی)، امکان نصب کتابخانه های Python به طور مستقیم، در سراسر سیستم، با استفاده از ابزار مدیریت بسته pip وجود داشت. با این حال، این مورد دیگر در Raspberry Pi OS Bookworm جدید وجود ندارد.
همانطور که مستندات Raspberry Pi توضیح میدهد، مشکل این بود که استفاده از یک ابزار اختصاصی پایتون مانند pip میتواند باعث درگیری با مدیر بسته OS apt شود.
بنابراین، از Bookworm به بعد، هنگام استفاده از pip، بسته ها باید در یک محیط مجازی پایتون sandbox شده نصب شوند، که تضمین می کند که نمی توانند با نسخه سیستمی پایتون تداخل داشته باشند.
اگر بخواهید از دستور pip install [package name] در هر جای دیگری از سیستم استفاده کنید، با این متن خطایی دریافت خواهید کرد:
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
نحوه جستجوی بسته های پایتون با Apt
اولین چیزی که باید بررسی کنید این است که آیا بسته Python مورد نیاز شما برای نصب با استفاده از مدیریت بسته apt در سطح سیستم در دسترس است یا خیر. با استفاده از دستور apt search می توانید بسته ها را در مخزن رسمی جستجو کنید. برای مثال:
apt search numpy
به نام بسته توجه کنید، در این مورد python3-numpy (برای پایتون نسخه 3)، و سپس آن را با apt (پیشوند sudo برای امتیازات سوپرکاربر مورد نیاز برای نصب) نصب کنید:
sudo apt install python3-numpy
اگر بسته پایتون مورد نیاز شما با استفاده از مدیر بسته apt در دسترس نیست، یا به نسخه جدیدتری از آن نیاز دارید، باید از ابزار pip اختصاصی پایتون برای نصب آن در محیط مجازی پایتون استفاده کنید.
نحوه ایجاد یک محیط مجازی پایتون
برای نصب بسته پایتون با ابزار pip در Raspberry Pi OS Bookworm، ابتدا باید یک محیط مجازی پایتون با استفاده از venv ایجاد کنید. ما پروژه خود را “muo-project” نامیدیم، اما شما می توانید از هر نامی که می خواهید استفاده کنید:
python -m venv muo-project
بسته به اینکه از کدام مدل Raspberry Pi استفاده می کنید، تکمیل آن کمی طول می کشد. سپس باید دایرکتوری را به پوشه محیط تازه ایجاد شده که حاوی یک توزیع کامل پایتون است تغییر دهید و آن را فعال کنید:
cd muo
source bin/activate
محیط مجازی پایتون اکنون آماده استفاده است و اعلان سیستم با نام آن اضافه می شود – در این مورد، پروژه muo. این نشان می دهد که شما دیگر از نسخه سیستمی پایتون استفاده نمی کنید، بلکه از نسخه ای که در محیط مجازی خود است استفاده می کنید. بنابراین هر تغییری که در آن ایجاد میکنید یا ماژولهایی که نصب میکنید، بر پایتون سیستم تأثیری نخواهد داشت.
توجه داشته باشید که اگر Raspberry Pi را مجددا راه اندازی کنید، برای استفاده مجدد باید محیط Python را دوباره فعال کنید.
اگر می خواهید یک محیط مجازی پایتون با یک کپی از تمام ماژول های پایتون که در حال حاضر در سطح سیستم عامل نصب شده اند ایجاد کنید، می توانید با افزودن پرچم –system-site-packages در دستور این کار را انجام دهید. به عنوان مثال: python -m venv –system-site-packages muo-project.
بسته های پایتون را با پیپ نصب کنید
از داخل محیط مجازی فعال پایتون، اکنون می توانید هر بسته ای را که نیاز دارید با استفاده از دستور pip نصب کنید. به عنوان مثال، برای نصب ابزار تست استرس سیستم Stressberry:
pip install stressberry
سپس ماژول را به همراه هر وابستگی مورد نیاز در محیط مجازی پایتون شما نصب می کند. توجه داشته باشید که ماژول فقط در آن موجود خواهد بود و نه در کل سیستم.
دیگر هیچ تضاد بسته پایتون وجود ندارد
در حالی که نصب بستههای پایتون در Raspberry Pi OS Bookworm با استفاده از ابزار pip به مراحل اضافی نیاز دارد، مزیت آن این است که آنها تنها پس از آن در محیط مجازی زندگی میکنند و بنابراین نمیتوانند با سیستم تداخل کنند یا آن را خراب کنند.