اجرای Python و Notebook¶
Python برای تحلیل داده، محاسبات علمی، یادگیری ماشین، تولید نمودار و اجرای Notebookها استفاده میشود.
بررسی نسخه Python¶
اجرای یک فایل Python¶
ساخت اسکریپت نمونه¶
cat > test.py <<'PYCODE'
import platform
import os
print("Python is working")
print("Host:", platform.node())
print("User:", os.getenv("USER"))
PYCODE
python3 test.py
ساخت محیط مجزا با venv¶
برای هر پروژه بهتر است یک محیط جدا بسازید:
mkdir -p ~/projects/python-demo
cd ~/projects/python-demo
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
اجرای Python با Slurm¶
cat > python-job.slurm <<'SLURM'
#!/bin/bash
#SBATCH --job-name=python-test
#SBATCH --partition=normal
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=2
#SBATCH --mem=2G
#SBATCH --time=00:10:00
#SBATCH --output=python-%j.out
#SBATCH --error=python-%j.err
python3 test.py
SLURM
sbatch python-job.slurm
استفاده از venv داخل Job¶
cat > python-venv-job.slurm <<'SLURM'
#!/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=01:00:00
#SBATCH --output=python-venv-%j.out
#SBATCH --error=python-venv-%j.err
cd ~/projects/python-demo
source .venv/bin/activate
python test.py
SLURM
sbatch python-venv-job.slurm
خطاهای رایج Python¶
| خطا | علت احتمالی | راهکار |
|---|---|---|
ModuleNotFoundError | کتابخانه نصب نیست | نصب داخل venv یا تماس با پشتیبانی |
Permission denied | مسیر یا فایل دسترسی ندارد | بررسی مالکیت و مسیر |
No space left on device | فضای مسیر پر شده | حذف فایلهای غیرضروری |
| Kernel کند است | کد سنگین یا حافظه کم | اجرای Job با Slurm |
نکته مهم درباره نصب کتابخانهها¶
بهتر است کتابخانههای Python را مستقیم و پراکنده نصب نکنید. برای هر پروژه یک محیط جداگانه بسازید تا نسخه کتابخانهها با پروژههای دیگر تداخل نداشته باشد.
نمونه ساخت محیط جدا:
cd ~/projects/my-python-project
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install numpy pandas matplotlib
بعد از فعالسازی محیط، اجرای برنامه از همان محیط انجام میشود:
در Jobهای Slurm هم باید همان محیط را فعال کنید: