Python: انشر تطبيقك على الويب

PythonAnywhere

نشر تطبيق الويب الخاص بك


سوف نقودك في هذه المقالة عبر عملية نشر تطبيق الويب على PythonAnywhere، بحيث ننطلق من الصفر لنصل إلى نهاية النشر في غضون عشر دقائق. تعتبر PythonAnywhere المحبذة في مجتمع البرمجة في Python، وليس من الصعب أن نتبين السبب: إنها تعمل تماماً كما قد تتوقع منها، وتملك دعماً كبيراً للغة Python (و Flask)، وأفضل ما في الأمر أنك تستطيع معها البدء باستضافة تطبيق الويب الخاص بك بدون أي تكلفة. دعنا نستكشف PythonAnywhere.

الخطوة 0: القليل من التحضير

في هذه اللحظة، لديك شيفرة تطبيق الويب على حاسبك في مجلد يدعى webapp، وهذا الأخير يحوي الملف vsearch4web.py والمجلدين static, template (كما يبين الشكل التالي). من أجل تحضير كل هذه الأشياء للنشر، أنشئ ملف أرشيف ZIP يحوي كل ما في المجلد webapp، وادع ملف الأرشيف هذا بالاسم webapp.zip:


إن الوحدة النمطية setuptools من Python تنشئ ملفات ZIP على Windows وملفت .tar.gz في أي مكان آخر.

بالإضافة إلى webapp.zip، سوف تحتاج أيضاً إلى تحميل وتثبيت الوحدة النمطية vsearch التي تعرفت عليها في الفصل الرابع. أما الآن، فيتثمل كل ما تحتاج إلى القيام به في تحديد موقع ملف التوزيع الذي أنشأته هناك. على حاسبنا، يدعى ملف الأرشيف vsearch-1.0.tar.gz، وهو مخزن في المجلد mymodules/vsearch/dist (يدعى هذا الملف على Windows بالاسم vsearch-1.0.zip).

لا تحتاج إلى القيام بأي شيء مع أي من ملفي الأرشيف الآن. قم فقط بتدوين ملاحظة حول موقعهما على حاسبك، وذلك حتى يسهل عليك العثور عليهما عند تحميلهما إلى PythonAnywhere. خذ قلم رصاص واكتب هنا موقع كل من هذين الملفين:


الخطوة 1: انتسب إلى PythonAnywhere

لا أبسط من هذه الخطوة على الإطلاق. انتقل إلى الموقع pythonanywhere.com، ومن ثم انقر على الارتباط Pricing & signup:


 

انقر على الزر الأزرق الكبير من أجل إنشاء حساب مبتدئ Beginner، ومن ثم املأ التفاصيل في نموذج التسجيل:

إذا سار كل شيء على ما يرام، فسوف تظهر لوحة التحكم في PythonAnywhere. ملاحظة: لقد بت الآن مسجلاً ودخلت بالفعل إلى الموقع.

الخطوة 2: تحميل ملفاتك إلى الغيمة

انقر على التبويب Files من أجل مشاهدة المجلدات والملفات المتوفرة من أجلك:



استخدم الخيار Upload a file من أجل تحديد موضع ملفات الأرشيف التي حددناها في الخطوة 0.

لقد بت الآن مستعداً لفك ضغط ملفي الأرشيف هذين وتثبيتهما، وسوف تقوم بذلك خلال الخطوة 3. من أجل أن تكون مستعداً، انقر على الارتباط Open a Bash console here في أعلى يمين الشكل السابق. سوف يؤدي ذلك إلى فتح نافذة طرفية في نافذة مستعرضك (على PythonAnywhere).

الخطوة 3: فك ضغط ملفاتك وتثبيت شيفرتك

عندما تنقر على الارتباط Open a Bash console here، سوف تستجيب PythonAnywhere باستبدال لوحة التحكم Files بنافذة موجه أوامر Linux تستند إلى المستعرض. سوف تقوم بإصدار بضعة أوامر من أجل فك ضغط وتثبيت الوحدة النمطية vsearch وكذلك شيفرة تطبيق الويب الخاص بك، وذلك ضمن موجه الأوامر هذا. ابدأ بتثبيت الوحدة النمطية vsearch في Python على شكل وحدة نمطية خاصة (أي لاستخدامك أنت فقط)، وذلك باستعمال الأمر التالي (تأكد من استعمال vsearch-1.0.zip إذا كنت تعمل على Windows):


بعد أن تم تثبيت الوحدة النمطية vsearch بنجاح، فقد حان الوقت لتحيل انتباهك إلى شيفرة تطبيق الويب، والتي يجب تثبيتها في المجلد mysite (وهو موجود مسبقاً في المجلد الرئيسي الخاص بك في PythonAnywhere). من أجل القيام بذلك، تحتاج إلى تنفيذ هذين الأمرين التاليين:

الخطوة 4: إنشاء تطبيق ويب أولي، 1 من 2

بعد إنجاز الخطوة 3، ارجع إلى لوحة التحكم في PythonAnywhere واختر التبويب Web، وهنا تدعوك PythonAnywhere من أجل إنشاء تطبيق ويب أولي جديد. سوف تقوم بذلك، ومن ثم تبدل شيفرة تطبيق الويب الأولي هذا بشيفرة تطبيقك. لاحظ أن كل حساب مبتدئ Beginner يحصل على تطبيق ويب واحد مجاني، أما إذا أردت المزيد، فيجب عليك الترقية إلى حساب مدفوع. لحسن الحظ الآن أنك تحتاج إلى تطبيق واحد فقط، فدعنا نتابع بالنقر على Add a new web app:

بما أنك تستخدم حساباً مجانياً، فسوف يتم تشغيل تطبيق الويب الخاص بك وفقاً لاسم الموقع المبين في الشكل التالي. انقر على الزر Next للمتابعة مع الاسم الذي اقترحته PythonAnywhere:


انقر على الزر Next للمتابعة في هذه الخطوة.

الخطوة 4: إنشاء تطبيق ويب أولي، 2 من 2

تدعم PythonAnywhere أكثر من إطار ويب من Python، لذلك توفر لك الشاشة التالية إمكانية اختيار ما تريده من النظم المدعومة العديدة. انقر Flask، ومن ثم اختر نسخة Flask و Python التي تريد النشر إليها. لعل Python 3.7 و Flask 0.10.2 النسختين الأكثر حداثة والمدعومتين من PythonAnywhere، لذلك اختر هذه التركيبة ما لم تتوفر لك تركيبة أخرى عند قراءتك لهذا الكتاب، وعندها اختر التركيبة الأحدث بالطبع:


لقد أوشكت على الانتهاء. تعرض عليك الشاشة التالية إنشاء تطبيق ويب Flask سريع. امض قدماً وافعل ذلك بقبول القيم التي تجدها على هذه الصفحة، ومن ثم النقر على الزر Next للمتابعة.


الخطوة 5: تكوين تطبيق الويب الخاص بك

بعد إنجاز الخطوة 4، سوف تحصل على لوحة التحكم Web. لا يغويك النقر على ذلك الزر الأخضر الكبير الآن، فأنت لم تخبر PythonAnywhere بشيفرتك بعد، لذلك امتنع عن تشغيل أي شيء الآن. بدلاً من ذلك، انقر على الارتباط الطويل الذي تجده على يمين التسمية WSGI configuration file:

يؤدي النقر على ذلك الارتباط الطويل إلى تحميل ملف تكوين تطبيق الويب Flask الذي أنشأته للتو في محرر النصور المستند إلى الويب من PythonAnywhere. في نهاية الفصل الخامس، قلنا بأن PythonAnywhere تستورد شيفرة تطبيق الويب الخاص بك قبل طلب التابع app.run() نيابة عنك. هذا هو الملف الذي يدعم ذلك السلوك. من ناحية أخرى، يجب أن نخبر PythonAnywhere بأن ترجع إلى شيفرتك، وليس إلى شيفرة التطبيق الأولي الخاص بها، لذلك تحتاج إلى تحرير السطر الأخير من هذا الملف (كما نبين في الشكل التالي)، ومن ثم النقر على الزر Save.


الخطوة 6: جرب تطبيق الويب الخاص بك والمستند إلى الغيمة

تأكد من حفظ ملف التكوين بعد تعديله، ومن ثم ارجع إلى التبويب Web في لوحة التحكم. لقد حان الوقت الآن للنقر على ذلك الزر الأخضر الكبير، فافعل ذلك!

بعد برهة، سوف يظهر تطبيق الويب الخاص بك في مستعرضك، وهو يعمل تماماً كما كان يفعل عندما شغلته محلياً، والتغيير الوحيد الآن هو أنه قد بات بمقدور أي شخص يملك اتصالاً بالإنترنت ومستعرض ويب أن يستخدم تطبيقك أيضاً:

بذلك نكون قد انتهينا. لقد تم نشر تطبيق الويب الذي طورته في الفصل الخامس على غيمة PythonAnywhere (بأقل من عشر دقائق). توفر PythonAnywhere خدمات أكثر بكثير مما بيناه في هذا الملحق المختصر، لذلك خذ وقتك في الاستكشاف والتجريب. وتذكر في وقت ما أن عليك العودة إلى لوحة التحكم في PythonAnywhere وتسجيل الخروج. لاحظ أنه، وعلى الرغم من تسجيل خروجك، فسوف يظل تطبيق الويب الخاص بك مشغلاً في الغيمة ما لم تغير ذلك بنفسك. هذا جميل، أليس كذلك!

كتب ومراجع مهمة ذات صلة