محیط Python، venv و pip¶
برای پروژههای Python بهتر است از محیط جداگانه استفاده کنید. محیط جدا باعث میشود کتابخانههای یک پروژه با پروژههای دیگر تداخل نداشته باشند.
بررسی Python¶
ساخت پوشه پروژه¶
ساخت venv¶
فعالسازی محیط:
بعد از فعالسازی، ابتدای خط Terminal معمولاً نام محیط را نشان میدهد.
بهروزرسانی pip¶
نصب کتابخانهها¶
مثال:
بررسی نصب:
ذخیره فهرست کتابخانهها¶
برای اینکه بعداً بتوانید همان محیط را بازسازی کنید:
نصب از روی فایل:
غیرفعال کردن محیط¶
اجرای Python داخل Slurm با venv¶
ابتدا فایل نمونه بسازید:
mkdir -p scripts logs
cat > scripts/main.py <<'PYCODE_MAIN'
import os
import platform
from datetime import datetime
print("Python venv job is running")
print("User:", os.getenv("USER"))
print("Host:", platform.node())
print("Time:", datetime.now())
PYCODE_MAIN
فایل Slurm:
cat > run-python-venv.slurm <<'SLURM_JOB'
#!/bin/bash
#SBATCH --job-name=python-venv
#SBATCH --partition=normal
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=2
#SBATCH --mem=4G
#SBATCH --time=00:30:00
#SBATCH --output=logs/python-venv-%j.out
#SBATCH --error=logs/python-venv-%j.err
cd ~/projects/python-env-demo
source .venv/bin/activate
python scripts/main.py
SLURM_JOB
sbatch run-python-venv.slurm
نکات مهم برای venv¶
| نکته | توضیح |
|---|---|
| محل venv | بهتر است داخل پوشه پروژه باشد |
| نام پیشنهادی | .venv |
| اجرای Job | داخل فایل Slurm هم باید source .venv/bin/activate باشد |
| نصب کتابخانه | بعد از فعالسازی venv انجام شود |
| حذف محیط | با حذف پوشه .venv انجام میشود |
خطاهای رایج¶
| خطا | علت | راهکار |
|---|---|---|
ModuleNotFoundError | کتابخانه در محیط فعال نصب نیست | venv را فعال کنید و نصب کنید |
python: command not found | دستور python موجود نیست | از python3 استفاده کنید یا venv را فعال کنید |
No space left on device | فضای مسیر پر شده | فایلهای غیرضروری را حذف کنید |
Permission denied | دسترسی مسیر مشکل دارد | مسیر و مالکیت فایل را بررسی کنید |
قاعده پیشنهادی
برای هر پروژه یک venv جدا بسازید. از یک محیط مشترک برای همه پروژهها استفاده نکنید.