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

ما الفرق بين إصدرات بايثون

Ail Ahmed

السؤال

السلام عليكم

اي الفرق بين 3.12.0 و 3.11.0

كمان اي الفرق بين 3.12.0 و 3.12.1

وهل انا كا مبرمج اهتم الازم اهتم بالتفاصل الزي ده 

 

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

عليك معرفة ما هو الإدارة الدلالية لنُسخ البرمجيات أو Semantic Versioning أو semver وبشكل بسيط:

حيث تُمثل الإصدارات البرمجية بالشكل 0.0.0 ولنفترض أن لدينا إصدار 1.3.4 من البرنامج، فيعني الرقم:

  • إصدار رابع تصحيحي أي زيادة في الإصدار التصحيحي (PATCH) (إصلاحات الأخطاء متوافقة)، بمعنى أننا قمنا بإصلاح الأخطاء أو التعامل مع مشكلات دون إضافة ميزات جديدة، ويجب زيادة الإصدار التصحيحي ليصبح الإصدار 1.3.5
  • بينما رقم 3 يعني  الإصدار الفرعي (MINOR) (إضافة ميزات جديدة متوافقة)، ونقوم بزيادته في حال قمنا بإضافة ميزات جديدة إلى المكتبة دون التأثير على الوظائف الحالية، ليصبح الإصدار 1.4.5
  • نأتي لرقم 1 ويعني الإصدار الرئيسي للبرنامج، أي هناك تغييرات رئيسية تؤثر على التوافق مع الشيفرة الحالية، مثل إزالة وظيفة مستخدمة على نطاق واسع أو تغيير واجهة البرمجة الرئيسية، وبالتالي يجب زيادة الإصدار الرئيسي ليصبح 2.4.5.

ونتبع ذلك النهج مع كل إضافة للبرنامج، وبالطبع يوجد لواحق نضيفها للإصدارات مثل beta وalpha  وستجد شرح مفصل هنا:

وكمثال في لغة بايثون إصدار بايثون 3.12.1 صدر في 24 نوفمبر 2023، وهو إصدار ثانوي لإصدار 3.12.0. يتضمن إصدار 3.12.1 العديد من الإصلاحات للأخطاء، بما في ذلك:

  • إصلاح خطأ في وحدة codeop يؤدي إلى تحديد Incomplete f-strings بشكل غير صحيح.
  • إصلاح خطأ في وحدة parser يؤدي إلى محاولة الكتابة فوق أخطاء موجودة وتسبب في حدوث عطل.
  • إصلاح عطل في وحدة compiler عند استخدام عبارة with مع 19 مديري سياق.
  • استخدام حالة AST-parser لكل منها بدلاً من حالة عالمية لتتبع عمق الاستدعاء داخل محلل AST لمنع حالة السباق المحتملة بسبب التحليل المتزامن.
  • حساب نهايات الأعمدة بشكل صحيح للرموز متعددة الأسطر في وحدة tokenize.
  • إصلاح خطأ SystemError في عبارة import وفي طرق reduce() لأنواع بنية اللغة المضمنة عندما لا يكون builtins عبارة عن dict.
  • إصلاح UnicodeEncodeError عند قراءة رسالة تحتوي على حرف surrogate Unicode بواسطة طريقة get_payload() من وحدة email.message.
  • في وحدة asyncio.StreamReaderProtocol.connection_made()، يوجد رد اتصال يقوم بتسجيل خطأ إذا فشل المهمة التي تُغلف رد الاتصال "المتصل". سيفشل هذا رد الاتصال نفسه إذا تم إلغاء المهمة. منع ذلك عن طريق التحقق مما إذا كانت المهمة قد تم إلغاؤها أولاً. إذا كان الأمر كذلك، أغلق النقل ولكن لا تسجل خطأ.
  • إصلاح تحذيرات الموارد لـ unclosed files في واجهات سطر الأوامر pickle و pickletools.
  • التأكد من أن webbrowser.MacOSXOSAScript يرسل حدث تدقيق webbrowser.open.
  • عندما يظهر مرجع ثانٍ إلى سلسلة في الإدخال إلى pickle، ويكون تنفيذ Python قيد الاستخدام، فإننا نضمن أن يتم حفظ نسخة واحدة فقط ونسخ واحدة فقط.
بتاريخ 53 دقائق مضت قال Ail Ahmed:

وهل انا كا مبرمج اهتم الازم اهتم بالتفاصل الزي ده 

كل 6 أشهر عليك تحديث معلوماتك، وبخصوص بايثون، ستجد شرح للتحديثات هنا:

وعليك الاشتراك في جروب مهتم ببايثون سواء على فيسبوك أو لينكدان إو تويتر (X) أو الإشتراك في نشرة بريدية خاصة ببايثون.

أو يمكنك البحث على اليوتيوب مع كل إصدار جديد عن What's New in Python 3.12 مثلاً واستبدال 3.12 برقم الإصدار مثل 3.11 وشاهد الفيديو وسيوضح لك ما الجديد، وإن وجدت أنه مفيد لك تعلمه ولكن بعض المكتبات لا تتوافق مع الإصدارات الجديدة وتحتاج بعض الوقت للتحديث، لذا قد يتعين عليك استخدام إصدار أقدم من بايثون بسبب الحاجة إلى استخدام مكتبة معينة.

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

  • 0
بتاريخ 2 دقائق مضت قال Mustafa Suleiman:

عليك معرفة ما هو الإدارة الدلالية لنُسخ البرمجيات أو Semantic Versioning أو semver وبشكل بسيط:

حيث تُمثل الإصدارات البرمجية بالشكل 0.0.0 ولنفترض أن لدينا إصدار 1.3.4 من البرنامج، فيعني الرقم:

  • إصدار رابع تصحيحي أي زيادة في الإصدار التصحيحي (PATCH) (إصلاحات الأخطاء متوافقة)، بمعنى أننا قمنا بإصلاح الأخطاء أو التعامل مع مشكلات دون إضافة ميزات جديدة، ويجب زيادة الإصدار التصحيحي ليصبح الإصدار 1.3.5
  • بينما رقم 3 يعني  الإصدار الفرعي (MINOR) (إضافة ميزات جديدة متوافقة)، ونقوم بزيادته في حال قمنا بإضافة ميزات جديدة إلى المكتبة دون التأثير على الوظائف الحالية، ليصبح الإصدار 1.4.5
  • نأتي لرقم 1 ويعني الإصدار الرئيسي للبرنامج، أي هناك تغييرات رئيسية تؤثر على التوافق مع الشيفرة الحالية، مثل إزالة وظيفة مستخدمة على نطاق واسع أو تغيير واجهة البرمجة الرئيسية، وبالتالي يجب زيادة الإصدار الرئيسي ليصبح 2.4.5.

ونتبع ذلك النهج مع كل إضافة للبرنامج، وبالطبع يوجد لواحق نضيفها للإصدارات مثل beta وalpha  وستجد شرح مفصل هنا:

وكمثال في لغة بايثون إصدار بايثون 3.12.1 صدر في 24 نوفمبر 2023، وهو إصدار ثانوي لإصدار 3.12.0. يتضمن إصدار 3.12.1 العديد من الإصلاحات للأخطاء، بما في ذلك:

  • إصلاح خطأ في وحدة codeop يؤدي إلى تحديد Incomplete f-strings بشكل غير صحيح.
  • إصلاح خطأ في وحدة parser يؤدي إلى محاولة الكتابة فوق أخطاء موجودة وتسبب في حدوث عطل.
  • إصلاح عطل في وحدة compiler عند استخدام عبارة with مع 19 مديري سياق.
  • استخدام حالة AST-parser لكل منها بدلاً من حالة عالمية لتتبع عمق الاستدعاء داخل محلل AST لمنع حالة السباق المحتملة بسبب التحليل المتزامن.
  • حساب نهايات الأعمدة بشكل صحيح للرموز متعددة الأسطر في وحدة tokenize.
  • إصلاح خطأ SystemError في عبارة import وفي طرق reduce() لأنواع بنية اللغة المضمنة عندما لا يكون builtins عبارة عن dict.
  • إصلاح UnicodeEncodeError عند قراءة رسالة تحتوي على حرف surrogate Unicode بواسطة طريقة get_payload() من وحدة email.message.
  • في وحدة asyncio.StreamReaderProtocol.connection_made()، يوجد رد اتصال يقوم بتسجيل خطأ إذا فشل المهمة التي تُغلف رد الاتصال "المتصل". سيفشل هذا رد الاتصال نفسه إذا تم إلغاء المهمة. منع ذلك عن طريق التحقق مما إذا كانت المهمة قد تم إلغاؤها أولاً. إذا كان الأمر كذلك، أغلق النقل ولكن لا تسجل خطأ.
  • إصلاح تحذيرات الموارد لـ unclosed files في واجهات سطر الأوامر pickle و pickletools.
  • التأكد من أن webbrowser.MacOSXOSAScript يرسل حدث تدقيق webbrowser.open.
  • عندما يظهر مرجع ثانٍ إلى سلسلة في الإدخال إلى pickle، ويكون تنفيذ Python قيد الاستخدام، فإننا نضمن أن يتم حفظ نسخة واحدة فقط ونسخ واحدة فقط.

كل 6 أشهر عليك تحديث معلوماتك، وبخصوص بايثون، ستجد شرح للتحديثات هنا:

وعليك الاشتراك في جروب مهتم ببايثون سواء على فيسبوك أو لينكدان إو تويتر (X) أو الإشتراك في نشرة بريدية خاصة ببايثون.

أو يمكنك البحث على اليوتيوب مع كل إصدار جديد عن What's New in Python 3.12 مثلاً واستبدال 3.12 برقم الإصدار مثل 3.11 وشاهد الفيديو وسيوضح لك ما الجديد، وإن وجدت أنه مفيد لك تعلمه ولكن بعض المكتبات لا تتوافق مع الإصدارات الجديدة وتحتاج بعض الوقت للتحديث، لذا قد يتعين عليك استخدام إصدار أقدم من بايثون بسبب الحاجة إلى استخدام مكتبة معينة.

اول الله ينور علي حضرتك والله وعلي الناس الموجود فيه حاسوب 

انا بتعلم حاجه جديد كل ما اسال سوال 

طيب ولو انا كتابه برنامج باصدر مثل 3.12.0  ودلوقتي فيه 3.12.1 هل كده ممكن يحصل مشكله والا الا عادي 

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

  • 0

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

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

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...