اگر با پایتون کار میکنید، احتمالاً با مشکل نسخههای مختلف این زبان و وابستگیهای هر پروژه مواجه شدهاید. گاهی یک پروژه نیاز به نسخهی خاصی از یک کتابخانه دارد، اما پروژهی دیگر نسخهی متفاوتی را طلب میکند. یا شاید بخواهید نسخههای مختلفی از خود پایتون را روی سیستم داشته باشید. در چنین شرایطی، محیطهای مجازی (venv) و ابزار pyenv بهترین راهحل هستند.
در این مطلب، بهطور ساده و روان یاد میگیریم که چطور در توزیع پارچ لینوکس، محیط مجازی پایتون را راهاندازی کنیم و نسخههای مختلف پایتون را مدیریت کنیم.
چرا باید از محیط مجازی استفاده کنیم؟
بیایید فرض کنید در حال کار روی دو پروژهی مختلف هستید:
- یکی از آنها نیاز به
Django 4.0
دارد. - دیگری تنها با
Django 3.2
کار میکند.
اگر این کتابخانهها را روی سیستم نصب کنید، نسخهی جدیدتر جایگزین نسخهی قدیمی میشود و پروژهی دوم دیگر اجرا نخواهد شد. این همان مشکلی است که محیطهای مجازی حل میکنند.
با استفاده از venv، میتوان برای هر پروژه یک محیط جداگانه داشت که کتابخانههای مخصوص به خودش را داشته باشد. در نتیجه، پروژهها مستقل از هم اجرا میشوند و سیستم اصلی تمیز باقی میماند.
راهاندازی محیط مجازی پایتون در پارچ
sudo pacman -S python-virtualenv python-pip
بعد از نصب بستههای بالا میتوانیم محیط مجازی را راهاندازی کنیم.
۱. ایجاد محیط مجازی
در مسیری که میخواهید محیط مجاری را راهاندازی کنید دستور زیر را اجرا کنید:
python -m venv my_project_env
دستور بالا یک مسیر به نام my_project_env ایجاد میکند که تمامی پروندهٔهای مورد نیاز برای محیط مجازی را در خود دارد.
۲. فعالسازی محیط مجازی
برای فعال سازی محیط مجازی کافیست تا دستور زیر را در پایانه بنویسید:
source my_project_env/bin/activate
وقتی محیط مجازی فعال شد، نام آن را در ابتدای خط فرمان مشاهده میکنید:
(my_project_env)
user@parch:~/projects$
۳. نصب کتابخانهها در محیط مجازی
حالا که در محیط مجازی هستید، میتوانید کتابخانههای موردنیاز خود را نصب کنید. مثلا:
pip install requests numpy pandas
۴. بررسی کتابخانههای نصبشده
برای دیدن لیست کتابخانههای نصبشده در محیط مجازی:
pip list
۵. خروج از محیط مجازی
وقتی کارتان تمام شد، برای خروج از محیط مجازی کافی است این دستور را اجرا کنید:
deactivate
مدیریت نسخههای مختلف پایتون با pyenv
در بعضی از پروژهها، ممکن است نیاز داشته باشید که نسخهی خاصی از خود پایتون را نصب کنید. مثلا فرض کنید یک پروژه فقط با پایتون ۳.۹ سازگار است، اما سیستم شما پایتون ۳.۱۲ دارد. در این مواقع، میتوانید از pyenv برای نصب و مدیریت نسخههای مختلف پایتون استفاده کنید.
نصب pyenv در پارچ لینوکس
ابتدا بستههای موردنیاز را نصب کنید:
sudo pacman -S base-devel git openssl zlib
سپس، pyenv
را نصب کنید:
sudo pacman -S pyenv
برای استفاده از pyenv میتوان از دستورات زیر استفاده کرد:
۱ . لیست نسخههای موجود
برای دیدن لیست نسخههای قابل نصب:
pyenv install --list
۲. نصب یک نسخهی خاص
مثلاً برای نصب پایتون ۳.۱۰.۶:
pyenv install 3.10.6
۳. تغییر نسخهی پیشفرض پایتون
اگر بخواهید این نسخه را بهعنوان نسخهی پیشفرض سیستم خود تنظیم کنید:
pyenv global 3.10.6
نکته: این کار توصیه نمیشود.
۴ . تنظیم نسخهی خاص برای یک پروژه
اگر فقط در یک پروژه خاص بخواهید از نسخهی خاصی استفاده کنید، کافی است به پوشهی پروژه بروید و دستور زیر را اجرا کنید:
pyenv local 3.9.13
اکنون اگر در این دایرکتوری، وقتی python
را اجرا کنید، نسخهی ۳.۹.۱۳ استفاده خواهد شد.