تغيير إدارة البيئة الافتراضية من Conda إلى Python

لقد شكل التغيير الذي اعتمدته Anaconda على شروط ترخيص الاستخدام منذ مارس 2024 ، والتعديلات التي بدأت تطبيقها بشكل فعلي منذ منتصف يوليو 2025 تغيير جذرياً للمؤسسات البحثية والحكومية والشركات التي يزيد عدد العاملين فيها عن 200 موظف. ففي الوقت الذي تستثني Anaconda الشركات التي تضم 200 موظفاً وأقل ، وتستثني المؤسسات التعليمية التي تستخدم منتجاتها في ضمن المناهج التعليمية التي تقدمها تلك المؤسسات (للتدريس وللتعلم) ، تطلب من الآخرين شراء الترخيص المطلوب بما فيها استخدامات الأبحاث أو أي استخدام خارج نطاق التعليم في المؤسسات التعليمية. كنتيجة لذلك ، بحث الكثير من المهندسين والباحثين عن بدائل أخرى للمحافظة على تدفق البيانات والمعلومات وبالتالي على سير العمل والإنتاجية. بالرغم من أن أداة Conda مفتوحة المصدر ما تزال متاحةً للاستخدام مجاناً للجميع ، إلا أن استخدام القناة الافتراضية (Conda’s default channel) لتنصيب المكتبات libraries يخضع لشروط الاستخدام المطبقة على Anaconda من حيث ضرورة شراء الترخيص من أجل الاستخدام للشركات والهيئات والمؤسسات التي يتخطى عدد موظفيها حاجز ال200 موظف. كحلول لهذه المتطلبات ، يمكن استخدام أداة Conda مع القنوات المجتمعية كـ conda-forge لتنصيب المكتبات. وكذلك يمكن تنصيب توزيعات بديلة عن conda كـ Miniforge أو Mamba اللذان لا يخضعان للترخيص التجاري. مشكلة هذه القنوات أنها لا تتمتع بمزايا الحماية والأمان التي توفرها الحزم المدارة والمدعومة من القناة الافتراضية لـConda. برغم أن هناك جدلية حول أثر ذلك على بيانات المستخدمين ، والوثوقية التي تتمتع بها الحزم مفتوحة المصدر ، يبقى أمر حماية البيانات حساساً للشركات والمؤسسات التي يهمها حماية بياناتها وتجنب استخدام أدوات لا يتم مراجعتها أو إدارتها من قبل جهات موثوقة كـAnaconda. في هذه المساحة ، أود تقديم بديل متاح ، يتفادى أو على الأقل يقلل المآخذ على القنوات المجتمعية من Conda ، ألا وهي استخدام البيئات الافتراضية مباشرة باستخدام بايثون Python. وهي ذات الخطوات التي اتبعتها للانتقال من Conda إلى بيئات من النسخة الأساسية من Python. أولاً من الأفضل نسخ البيئات الموجودة في جهازك من Conda ولعمل ذلك تحتاج إلى تفعيل البيئة الافتراضية ، ثم استخراج الحزم/المكتبات (packages) التي تم تنصيبها في تلك البيئة الافتراضية. بعد نسخ هذه الحزم ، يمكن إزالة Anaconda بشكل كامل ، وإزالة جميع الملفات المرتبطة به من جهازك. بعد ذلك ، يمكنك تنصيب النسخة المطلوبة من بايثون من الموقع الرسمي (https://www.python.org/) ، ومع أن الحالة المثالية تنصيب النسخة الأحدث للاستفادة من آخر تعديلات الحماية وامتيازات التحسينات ، يمكن اختيار نسخ سابقة في حالة كانت متوافقة مع حزم أو مكتبات ضرورية في العمل. يمكن أيضاً تنصيب نسخ متعددة في الجهاز. في هذا المثال قمنا بتنصيب نسختين من Python: Python 3.13.7 و Python 3.11.0. لمعرفة النسخة الافتراضية في الجهاز ، من موجه الأوامر (Command Prompt – cmd) ، يمكن إدخال الأمر python -V ، في حين لاستخدام النسخة الأخرى ، يلزم استخدام الرابط كاملاً ، كما هو موضح في الأمر التالي:

C:\PYTHON_INSTALLATION_PATH\Python\Python311\python.exe -V

وباتباع الطريقة ذاتها ، يمكن إنشاء البيئة الافتراضية المطلوبة ، فمثلاً لإنشاء بيئة افتراضية مبنية على Python 3.13 ونسميها بالاسم venv_3.13 سنكتب الأمر التالي في موجه الأوامر:

python -m venv venv_3.13

ولإنشاء بيئة افتراضية مبنية على Python 3.11 ونسميها venv_3.11 سندخل الأمر التي في موجه الأوامر (مع استبدال PYTHON_INSTALLATION_PATH بالمسار المستخدم لتنصيب نسخة بايثون 3.11):

"C:\PYTHON_INSTALLATION_PATH\Python\Python311\python.exe" -m venv venv_3.11

يرجى ملاحظة أن البيئة التي تم إنشاؤها سيتم إنشاؤها في المجلد الذي يتواجد فيها مؤشر الأوامر ، لذلك ينبغي الاهتمام بأن يكون المؤشر في المجلد المقصود ، ويمكن أن يكون في المجلد الجذر للمشروع. في هذه الحالة ينبغي إضافة المجلد إلى المجلدات التي يتم تجاهلها في حال كان المشروع ضمن أدوات إدارة الإصدارات - version control system - مثل GitHub. ولتفعيل البيئة التي تم إنشاؤها ، يمكن إدخال الأمر التالي:

venv_3.13\Scripts\activate

وللتحقق من نسخة بايثون المستخدمة في البيئة المفعّلة ، ندخل الأمر التالي:

python -V

وسنلاحظ أن نسخة بايثون في النسخة الخاصة بالبيئة التي تم تفعيلها هي الإصدارة 3.13.7

يمكن بعدها استخدام المكتبة pip لتنصيب الحزم والمكتبات المطلوبة.

لإلغاء تفعيل البيئة الافتراضية ، يمكن كتابة الأمر

deactivate

وسيتم إلغاء تفعيل البيئة الافتراضية.

لتعويض بعض مزايا Conda في إدارة الحزم والمكتبات والتبعيات ، يُفضَّل استخدام أدوات مثل: pip-tools : وهي أداة لتثبيت وإدارة التبعيات بدقة مع تثبيت الإصدارات المثبتة. Poetry : مدير حزم وبيئات متكامل للـ Python ، يجمع بين إنشاء البيئة الافتراضية، وإدارة التبعيات، وبناء المشروع للنشر. virtualenvwrapper : أداة لإدارة عدة بيئات افتراضية بسهولة من موجه الأوامر.




المزيد من المقالات ذات الصلة؟

فيما يلي بعض المقالات ذات الصلة التي قد ترغب في قراءتها:

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