اذهب إلى المحتوى
  • 0

ما فائدة تثبيت البيئة الإفتراضية virtual environment في البرمجة؟

يوسف شعبي

السؤال

الان بدأت الاشتغال ب فلاسك اولا كان على تتبيت البيئة الافتراضية virtualenv لكن واجهت مشكلة في 

Source env/lib/activate

لذا سؤالي هل من الضروري ان اتبت بيئة عمل، ام لا احتاجها ؟ 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

انت لا تحتاها ليعمل المشروع ولكنها ضرورية جدا

اذا لم تستخدمها فان جميع المكتبات التي تقوم بتثبيتها تكون مثبتة في الجهاز بشكل عام وهذا سيسبب لك الكثير من المشاكل

اما اذا استخدمت ال virtualenv فان المكتبات تكون مثبتة في هذه البيئه الافتراضية فقط

وهذا سيساعدك كثيرا في التحكم في الاصدارات وما الى ذلك

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

تُعد البيئة الافتراضية virtualenv كنظام برمجي معزول (بيئة محلية) عن النظام العام في الحاسوب لديك، بحيث يمكنك تثبيت المكتبات و الاعتماديات فيه بحرية تامة، بدون التأثير على المكتبات و إصدارات لغات البرمجة و غيره التي تستعملها في نظامك بصورة طبيعية.

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

إن واجهتك أي مشكلة يمكنك طرح سؤال خاص بها مع ذكر جميع التفاصيل عن الخطأ.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

البيئة الإفتراضية الهدف من تثبيتها و تثبيت المكتبات بها هي سهولة الوصول لإصدارات المكتبات المُثبته بها عن طريق الملف requirements.txt من الأمر pip freeze > requirements.txt إذا تستخدم Django القائم على لغة Python فبدون البيئة الإفتراضي ستكون كافة المشروعات على جهازك تستخدم نفس إصدارات المكتبات و يصعب التحكم بها مثل تعديلها على كافة المشروعات

فالبيئة الإفتراضية تهدف لفصل كل مشروع بالمكتبات الخاصه به داخل بيئة إفتراضيه على سبيل المثال لديك 3 مشروعات عن طريق django المشروع الأول يعمل بإصدار django2 و الثاني django3 و الثالث django4 كذلك تفاصيل المكتبات مثل التالي :

asgiref==3.4.1
beautifulsoup4==4.10.0
defusedxml==0.7.1
diff-match-patch==20200713
Django==3.2.8
django-bootstrap-form==3.4
django-bootstrap4==3.0.1
django-ckeditor==6.2.0
django-filter==21.1
django-import-export==2.7.1
django-js-asset==1.2.2
djangorestframework==3.13.1
et-xmlfile==1.1.0
fontawesome-free==5.15.4
importlib-metadata==4.10.0
Markdown==3.3.6
MarkupPy==1.14
odfpy==1.4.1
openpyxl==3.0.9
Pillow==8.4.0
pytz==2021.3
PyYAML==6.0
six==1.16.0
soupsieve==2.2.1
sqlparse==0.4.2
tablib==3.1.0
xlrd==2.0.1
xlwt==1.3.0
zipp==3.6.0

هذه مكتبات تم كتابتها من الأمر pip freeze > requirements.txt و هي متواجدة داخل الملف requirements.txt تلاحظ أن كل مكتبه بجانبها رقم الإصدار الخاص بها لإعادة تثبيت كافة السطور على الإستضافة بمجرد رفع الموقع الخاص بك لسهولة الوصول لنفس إصدارات المكتبات المستخدمه

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

لم يتم التعرف على الملف أو المسار

تأكد أولا من اسم الملف هل هو eNv أم env

ثانيا تأكد أنك في المسار أو المكان الصحيح الذي به البيئة الافتراضية اكتب الأمر ls  لترى الملفات الموجودة  مسارك الحالي

تم التعديل في بواسطة Abdollahi Mohammed
خطا في الكتابة
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ On 2/22/2022 at 10:20 قال Abdollahi Mohammed:

انت لا تحتاها ليعمل المشروع ولكنها ضرورية جدا

اذا لم تستخدمها فان جميع المكتبات التي تقوم بتثبيتها تكون مثبتة في الجهاز بشكل عام وهذا سيسبب لك الكثير من المشاكل

اما اذا استخدمت ال virtualenv فان المكتبات تكون مثبتة في هذه البيئه الافتراضية فقط

وهذا سيساعدك كثيرا في التحكم في الاصدارات وما الى ذلك

مرحبا اخي 

هل تقصد هنا ان سيسبب مشكلة في الجهاز ام العمل عل المشروع بالتحديد!

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 1 دقيقة مضت قال Adil Almandhari:

هل تقصد هنا ان سيسبب مشكلة في الجهاز ام العمل عل المشروع بالتحديد!

يمكن عمل بيئة وهمية لكل مشروع، كي تستطيع تثبيت إصدارات مختلفة من نفس المكتبة لأكثر من مشروع مختلف حيث أن كل بيئة وهمية تعتبر بيئة مستقلة.

والحل يدعم بقاء تشغيل الإصدارات القديمة من المشاريع في حال كان لها بيئة افتراضية خاصة، لأن تثبيت مكتبة من جديد بإصدار X مستعملة في مشروع قديم بإصدار Y سوف يسبب توقف عمله بسبب استبدال المكتبة القديمة بالإصدارا لجديد ومشاكل من هذا النوع

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...