ما هو virtualenv؟ وكيف تستخدمه مع python
شرح عن virtualenv؟ وكيف تستخدمه مع python
virtualenv هي اداة لتحميل python packages في بيئة معزولة لكل مشروع بدلا من ان تحملها على مسار تثبيت python في windows.
لماذا نستخدمه؟
افترض انك عملت مشروع قبل عدة سنوات وقد حملت عدة packages والان تريد عمل مشروع جديد باستخدام تلك packages لكن اصدارها قديم وتريد تحديثها. ان حدثت packages قد لا يعمل مشروعك القديم. ايضا لو حملت برنامج python وكان يستخدم اصدار قديم من المكتبات مكتوبة في requirements.txt وتريد تحميلها هنا الافضل تستخدم virtual environment. من الافضل عمل virtual environment دائما مع اي مشروع.
كيف نستخدمه؟
يوجد طريقتين:
1) venv module يأتي محملا مع python 3.3 او اعلى ويدعم python 3
2) virtualenv يحتاج ان تحمله ويدعم python 2 وpython 3
في هذا الدرس سنستخدم venv لان لا داعي لتحميل مكتبة خارجية ونحن نستخدم python 3
افتح سطر الاوامر واذهب لمجلد تريد تشغيل برامج python عليه عبر الامر cd مثال:
cd Desktop/folder1
بعد ذلك نريد عمل virtual environment في هذا المجلد. نعمله كالآتي
python -m venv <name>
للwindows استخدم python كما هي وللmacOS وlinux استخدم python3
بدلا من <name> ضع اسم virtual environment يفضل تختار نفس الاسم كل مرة لكي لا تنساه. انا استخدم
python -m venv env
نأتي الان لتفعيله عبر سطر الاوامر
للmacOS وlinux هذا الامر
source <name>/bin/activate
وللwindows هذا الامر
<name>\Scripts\activate
مكان ال<name> يكون اسم virtual environment مثلا اذا اسميته env يكون لل windows
env\Scripts\activate
ونفس الشيء مع macOS وlinux.
حينها سيظهر في سطر الاوامر اسم الvirtual environment قبل الpath والان تستطيع تحميل packages وتشغيل برامج python داخل الvirtual environment.
واي packages تحمله سيكون موجودا داخل مجلد المشروع باسم venv.
هناك بعض الIDEs تدعم الvirtualenv وتستعمله بدون اوامر مثل pycharm فهو يعمل virtual environment كل مرة تعمل مشروع فيه. وأيضا visual studio code يمكنك من اختيار اي virtual environmen تريد العمل عليه.
عند عمل virtual environment تأكد من انك تعمل ignore للمكتبات داخل البروجكت عند رفعها على github لانها ستاخذ مساحة كبيرة.
والطريقة انك تضع اسماء المكتبات في ملف text ومن يحمل برنامجك يستخدم امرا ويحمل كل المكتبات.
بهذا الامر
pip freeze > requirements.txt
بهذا الأمر سيعمل ملف اسمه requirements.txt فيه كل اسماء المكتبات مع اصدارها. والان اي واحد يحمل برنامجك من github ويريد تشغيله بنفس الenvironment حقك لكي يشغل البرنامج مع وجود المكتبات يعمل هذا الامر
pip install -r requirements.txt
والان عند رفع برنامجك على github لا تحتاج رفع المكتبات انما اكواد برنامجك فقط وكيف تعمل ذلك؟
بعمل ملف وتسميه .gitignore
ويكون داخله
venv/
venv هو اسم المجلد اللي فيه المكتبات.
التعليقات (0)
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !