نصب Flask در اوبونتو را در محیط مجازی پروژه انجام دهید تا بستههای آن با ابزارهای سیستم و پروژههای دیگر تداخل نکنند. Flask یک چارچوب سبک وب است، اما «بدون وابستگی» نیست؛ ابزارهایی مانند Werkzeug و Jinja همراه نصب آن فراهم میشوند. این راهنما از نصب تا پاسخ گرفتن از یک مسیر آزمایشی را پوشش میدهد.
پیشنیاز نصب Flask در اوبونتو
آموزش اولیهٔ این صفحه برای اوبونتو ۲۰٫۰۴ و Python 3.8 بود. Flask 3.1 به Python 3.9 یا جدیدتر نیاز دارد؛ بنابراین همان محیط قدیمی را برای نصب فعلی کافی فرض نکنید. حداقل سازگاری نیز جای پشتیبانی امنیتی مفسر را نمیگیرد. از اوبونتو و Python پشتیبانیشده و سازگار با پروژه استفاده کنید.
cat /etc/os-release
python3 --version
sudo apt update
sudo apt install python3-full
راهنمای نصب Flask نیاز نسخه و محیط مجازی را توضیح میدهد. برای نمونهٔ سادهٔ این مقاله، نصب پیشاپیش همهٔ ابزارهای کامپایل و کتابخانههای توسعه لازم نیست؛ اگر وابستگی خاص پروژه به آنها نیاز داشت، همان نیاز را جداگانه بررسی کنید.
ساخت محیط و نصب بسته
mkdir flask-demo
cd flask-demo
python3 -m venv .venv
source .venv/bin/activate
python -m pip install "Flask>=3.1,<3.2"
python -m flask --version
python -m pip check
نمونه به شاخهٔ ۳٫۱ محدود شده است تا نصب آن بهطور ناخواسته به یک شاخهٔ دیگر نرود. برای انتخاب شاخهٔ متفاوت، نیازمندیها و سازگاری برنامه را بررسی کنید. داخل محیط مجازی از sudo استفاده نکنید.
ساخت اولین مسیر وب
فایل hello.py را کنار پوشهٔ .venv بسازید و این برنامهٔ نمونه را داخل آن قرار دهید:
from flask import Flask
app = Flask(__name__)
@app.get("/")
def home():
return "Hostnegar Flask demo is running."
نام فایل را flask.py نگذارید، چون با بستهٔ اصلی تداخل ایجاد میکند. سپس اجرا کنید:
python -m flask --app hello run --host 127.0.0.1 --port 5000
در مرورگر همان ماشین، http://127.0.0.1:5000/ باید پیام نمونه را نشان دهد. راهنمای شروع Flask نقش برنامه، مسیر و فرمان اجرا را توضیح میدهد. با Ctrl+C سرور آزمایشی را متوقف کنید.
آزمون روی سرور راه دور
نشانی loopback رایانهٔ شخصی با loopback سرور متفاوت است. برای دیدن نمونهٔ سرور، از تونل SSH مجاز استفاده کنید:
ssh -L 5000:127.0.0.1:5000 username@server.example.com
حساب و نام میزبان را جایگزین کنید و برنامه را روی loopback سرور نگه دارید. این روش آزمون به باز کردن عمومی پورت توسعه نیاز ندارد. اگر پورت محلی اشغال است، پورت سمت رایانه را تغییر دهید و همان را در مرورگر وارد کنید.
رفع خطاهای متداول
برای No module named flask، مفسر و محیط فعال را بررسی کنید. برای Could not import، نام فایل، پوشهٔ جاری و مقدار –app را تطبیق دهید. خطای Address already in use یعنی پورت را فرایند دیگری گرفته است؛ بدون شناخت فرایند آن را متوقف نکنید و برای آزمون پورت آزاد انتخاب کنید.
اگر خطای externally-managed-environment دریافت میکنید، ابتدا مطمئن شوید python به .venv همین پروژه اشاره دارد. مسیر را با python -c "import sys; print(sys.executable)" ببینید. غیرفعال کردن حفاظت بستههای سیستم، راهحل عادی این آموزش نیست.
نصب موفق با آماده بودن برای انتشار فرق دارد
سرور توسعه و debugger را در اینترنت منتشر نکنید. طبق راهنمای استقرار Flask، تولید به سرور WSGI یا سکوی میزبانی مناسب نیاز دارد. تنظیم دامنه، HTTPS، اسرار برنامه، گزارش خطا و اجرای پایدار سرویس باید جداگانه انجام شود.
برای برنامهٔ واقعی، مسیرهای ورودی، خطاها، اتصال دیتابیس و عملیات حساس را آزمایش کنید. پاسخ صفحهٔ نمونه فقط نشان میدهد محیط پایه کار میکند؛ تأیید امنیت یا مقیاسپذیری کل برنامه نیست.
مطالعهٔ مرتبط
بازبینی فنی: ۱۳ آبان ۱۴۰۵. تاریخ انتشار اولیه و نشانی قبلی حفظ شدهاند.