مدخل الى البيئات الوهمية
Virtual Enviroment
السلام عليكم ورحمة الله وبركاته
قد تقرأ هذا المقال في وقتا قليلا جدا ولكن لا يغرنك ذلك فمقال اليوم يتحدث عن اداة صغيرة ولكن مهمة جدا لأي مطور ويب يستخدم لغة البرمجة بايثون فهذة الاداة سوف تستخدمها في كل مشروع تقريبا ان لم تكن سوف تستخدمها في كل مشاريعك بالضرورة فمعظم مطوري الويب بلغة البايثون لا يستطيعون الاستغناء ابدا عن هذه الاداة فهي الاداة الاولى التي يستخدمها في كافة مشاريعه
: تكلمنا كثيرا فلنبدأ مقالنا
.مقال هذا اليوم عن ما يسمى بالبيئة الوهمية
وهي ليست بيئة بالطبع يعيش فيها المطور ولكن هي اداة مثلها كمثل اي اداة اخرى يستخدمها المطور في بيئة التطوير التي يستخدمها وسوف يكون لنا مع بيئة التطوير بما تتضمنها هذه البيئة مقال بأذن الله تعالى
فهي تتيح للمطور الاحتفاظ بمتطلبات مشروع الويب الذي يستخدمها في هذا المشروع منفصلة عن اي شيء خارجي في ملف او مجموعة ملفات معزولة غير قابلة للتغييرات الخارجية مما تتضمنها هذه البيئة .. لا تستعجل وتابع معنا وسوف تفهم بأذن الله ما نريد ان نوضح
لماذا البيئة الوهمية ؟
تخيل معي مشروعين ويب الاول تستخدم فيه Django 1.9 والاخر تستخدم فيه Django 2.0 سوف يعمل الاثنين ولكن ما سوف تتضمنه الشفرة البرمجية في المشروع الاول ليس بالمثل ما سوف تتضمنه الشفرة البرمجية Script Code بالمشروع التاني فانه يوجد اختلاف في دوال اطار العمل الاول عن اطار العمل الثاني في طريقة كتابة تلك الوحدات المستدعاة .. لنأخذ مثالا أخر
في نسخة البايثون 2 تعلمنا اول دالة في حياتنا البرمجية مع هذه اللغة بطباعة كلمة Hello, World ولكن هل تتذكر كيفية القيام بذلك ؟ بالطبع وهل هناك اسهل
في الصورة تم استخدام نفس الدالة في نفس الوقت مع الاصدارين من لغة بايثون ولكن تم اطلاق خطأ نحوي في الاصدار 3 من نفس اللغة فتخيل معي اذا ما كنت تستخدم الاصدار الثاني في مشروعا ما وقد انهيت مشروعك للتو ومن ثم تم اصدار الاصدار الثالث مباشرة فلابد ان تقوم بتعديل جميع الدوال التي تم تغييرها في الاصدار الجديد والا سوف تقابل الكثير من الاخطاء البرمجية
متى وأين نستخدم البيئة الوهمية؟
لن نتكلم كثيرا في هذا الشأن ولكن بالعودة الى الامثلة السابقة يجب ان نقول انه لابد وحتما من استخدام البيئة الوهمية في جميع مشروعاتك ففي المثال السابق عندما تحدثنا عن المشروعين المستخدم فيهم اطار الجانجو بأختلاف الاصدارين فعند تفعيل هذين المشروعين فسوف نقابل اخطاء عند محاولة تشغيلهما .. فلن تتعرف لغة البرمجة بايثون عن اصدارهما حتى نعلمها ذلك
فبذلك قد اجبنا عن متى نستخدمها والان اين نستخدمها ؟ نستخدمها في نفس مجلد المشروع ولكن مجلد البيئة لا يفضل ان ننشأ او نعدل او نمسح منه ملفات
كيف نستخدم البيئة الوهمية؟
تحدثنا في المقال السابق عن ماهية الوحدات وما تقدمه لنا لغة البرمجة بايثون من ادوات تساعدنا على التطوير فمن هذه الوحدات توجد وحدة تسمى ب Virtualenv وهي اختصار لكلمة البيئة الوهمية
تمكننا هذه الوحدة المبرمجة مسبقا بعمل بيئات وهمية وتفعيلها وتحميل ما نحتاجه في تطوير كل مشروع على حدى والاحتفاظ بكافة هذه الملفات كما قلنا مسبقا منفصلة وغير قابلة للتطوير الا اذا اردنا (المطور) ذلك
اولا تحميل الوحدة من خلال Python Package Manger المسمى pip من خلال كتابة التالي في الطرفية
$ pip install virtualenv
والان لنتأكد انها تعمل من خلال الامر التالي
$ virtualenv --version
الان وقد انزلنا الوحدة الخاصة لنذهب ونجرب كيفية عمل هذه الوحدة مع مشاريعنا المستقبلية
اوك . لنذهب الى جهازي الشخصي ولنقوم بعمل مشروع صغير
من خلال الطرفية نقوم بعمل مجلد
$ mkdir project
والان نذهب الى الملف ونقوم بعمل بيئة وهمية
$ cd project
$ python3 -m virtualenv venv
فلنذهب الى ملف المشروع ونرى ما التغيرات وسوف نجد انه تم عمل ملف بيئة وهمية نحتاج الى التنصيب بداخلها الوحدات التي يتطلبها مشروعنا
قبل اي شيء لابد وتفعيل هذه البيئة الوهمية لتنصيب الوحدات بداخلها فكما قلنا انها بيئة منعزلة عن بيئة الكومبيوتر او السيرفر بوجه عام فبالتالي ما ينصب بداخلها لا ينصب بالكاد داخل الكومبيوتر او السيرفر والعكس صحيح ولعمل ذلك نقوم بكتابة الامر التالي في الطرفية
$ source venv/bin/activate
وللتأكد من تفعيل البيئة سوف نرى اسم البيئة في يسار الطرفية
والان تم عمل البيئة بنجاح وايضا تم تفعيلها ونحن جاهزون للعمل
لنفترض اني سوف اقوم بتطوير مشروع ويب يحتاج تنصيب اطار عمل الفلاسك لابد وتنصيب الاطار بداخل البيئة بعد تفعيلها كما في الصورة التالية من خلال الامر
$ pip install flask
والان اتمنى لك رحلة تطوير برمجية رائعة ان شاء الله
ملحوظة عند تشغيل اي برنامج لابد وتفعيل البيئة ومن ثم تشغيل البرنامج من داخلها
بافتراض وجود ملف يطبع كلمة اهلا يتم تشغيله بالطريقة التالية
-
الذهاب الى ملف المشروع
$ cd project
-
تفعيل البيئة الوهمية
$ source venv/bin/activate
-
تشغيل البرنامج من خلال البيئة الوهمية
$ python3 app.py
وفي الاخير اتمنى ان اكون قد وفقت في تقديم هذا الشرح والباقي يأتي بأذن الله
السلام عليكم ورحمة الله وبركاته
No comments:
Post a Comment