ثبّت حزمة Qiskit v1.0 الجديدة
يستخدم Qiskit v1.0 هيكلًا مختلفًا للتعبئة مقارنةً بالإصدارات السابقة، وهو ما قد يُسبّب مشاكل في البيئات التي تعتمد على حزم غير متوافقة بعد مع Qiskit v1.0.
لا تحاول ترقية بيئة Python الافتراضية الحالية إلى Qiskit v1.0 في مكانها مباشرةً.
لن نُجري تغييرات مشابهة في التعبئة في المستقبل. هذا حدث استثنائي مرتبط بإصدار Qiskit v1.0 تحديدًا، وذلك لنجعل عملية التعبئة أيسر ما يمكن في المستقبل.
هذا الدليل مقسّم إلى الأقسام التالية. لا تحتاج إلى مراجعة سوى الأقسام ذات الصلة بك.
- ينبغي للمستخدمين قراءة قسم للمستخدمين.
- إذا كنت تُطوّر حزمةً تعتمد على Qiskit أو تُشرف عليها، فاقرأ قسم للمطوّرين.
- إذا واجهت مشاكل في تثبيت Qiskit v1.0 أو استيراده، راجع قسم استكشاف الأخطاء وإصلاحها.
إذا كنت مهتمًا بفهم هيكل الحزمة القديم وسبب تغييره، راجع نظرة عامة على تغييرات التعبئة الجذرية.
للمستخدمين
يجب عليك إنشاء بيئة افتراضية جديدة لتثبيت Qiskit v1.0. ترقية التثبيت الحالي في مكانه إلى Qiskit v1.0 أمرٌ بالغ الصعوبة وعرضة للأخطاء.
تستخدم الأمثلة في هذا القسم وحدة venv المضمّنة في مكتبة Python القياسية.
إذا كنت تستخدم أداةً مختلفة مثل virtualenv أو conda، فراجع توثيقها للحصول على المساعدة.
تستخدم أوامر Linux وmacOS صياغةً مشابهة لـ bash. أما أوامر Windows فتستخدم PowerShell.
إنشاء البيئة الجديدة
-
أنشئ بيئةً افتراضية جديدة في كل مجلد مشروع تعمل عليه، باستخدام الإصدار الذي تفضّله من Python 3.8 أو أحدث.
- macOS
- Linux
- Windows
python3 -m venv .venvpython3 -m venv .venvpython -m venv .venv
-
فعِّل البيئة.
- macOS
- Linux
- Windows
source .venv/bin/activatesource .venv/bin/activate.venv\Scripts\activate.ps1 -
ثبّت الحزم التي تحتاجها. يُنصح بتنفيذ ذلك باستخدام أمر
pip installواحد يتضمّن جميع التبعيات.pip install 'qiskit>=1'يمكنك اختياريًا تضمين حزم إضافية بإدراجها كوسائط. مثلًا:
pip install 'qiskit>=1' jupyterlab pandas matplotlibيتضمّن Qiskit v1.0 تغييرات جذرية، لذا تمّ وضع علامة على عدة حزم بوصفها غير متوافقة معه بعد. لهذا قد ترى أخطاءً من
pipحتى يتم إصدار إصدارات جديدة من تلك الحزم. قد تعتمد الإصدارات القديمة من بعض الحزم أيضًا على حزمةqiskit-terraالقديمة. مثل هذه الحزم قد لا تُعطي أخطاءً عند تشغيل هذا الأمر، لكنها قد تُثير خطأً عند تنفيذimport qiskit. يجب ألّا تثبّت أي حزم تعتمد مباشرةً علىqiskit-terra.نصيحةإحدى طرق إجبار
pipعلى منعqiskit-terraمن أوامرinstallالفردية هي استخدام ملف قيود يُعيّنqiskit-terraعلى إصدار مستحيل. مثلًا، ملف قيود يتضمّن السطرqiskit-terra>=1.0سيعني أنه إذا حاولت تبعية تثبيتqiskit-terra، لن يتطابق أي إصدار منشور مع المتطلبا ت.لقد وفّرنا مثل هذا الملف في GitHub Gist على https://qisk.it/1-0-constraints، ويمكنك استخدامه هكذا:
pip install -c https://qisk.it/1-0-constraints qiskit [other packages]إذا كانت إحدى الحزم تتطلّب
qiskit-terra، ستظهر لك رسالة فشل في حل التبعيات.تنبيهلا تثبّت حزمًا غير متوافقة مع Qiskit v1.0 في هذه البيئة الافتراضية. إذا كنت بحاجة إلى استخدام مثل هذه الحزم، فثبّتها في بيئة افتراضية منفصلة مع Qiskit 0.45 أو 0.46.
إذا كانت لديك بيئة موجودة، يمكنك استخدام
pipdeptreeللاستعلام عن متطلبات الحزم المثبّتة ومعرفة ما إذا كانت تتطلّبqiskit<1. لأي حزمة تتطلّبqiskit<1، ابحث عن تحديثات تجعلها متوافقة مع Qiskit v1.0.إذا واجهت مشاكل، راجع قسم استكشاف الأخطاء وإصلاحها، أو اسأل في Qiskit Slack. إذا اعتقدت أن هناك خللًا برمجيًا، يمكنك إنشاء تذكرة في Qiskit.
-
إذا لم تكن تخطط لاستخدام البيئة فورًا، استخدم أمر
deactivateلإلغاء تفعيلها.
استخدام البيئة الجديدة
في كل مرة تبدأ فيها جلسة سطر أوامر جديدة، يجب عليك الانتقال إلى مجلد مشروعك و"تفعيل" البيئة بتشغيل أمر activate:
- macOS
- Linux
- Windows
source .venv/bin/activate
source .venv/bin/activate
.venv\Scripts\activate.ps1
للمطوّرين
إذا كنت تُشرف على حزمة تعتمد على Qiskit، استخدم هذه المعلومات لتتعلّم كيفية التعبير الصحيح عن توافقها واختبارها مع Qiskit v1.0.
التوصيات المتعلقة بالمتطلبات
نوصي بأن تشترط حزمتك qiskit>=0.45,<1 (أو حدًّا أدنى مناسبًا آخر) إذا لم تكن متأكدًا من توافق الحزمة مع Qiskit v1.0.
هذه نفس التوصية المُعطاة لضمان التوافق مع NumPy 2.0.
سيُصدر مرشّح إصدار Qiskit v1.0، بالإصدار v1.0.0rc1، في 1 فبراير 2024. ينبغي عليك اختبار حزمتك مقابله، وفي أسرع وقت ممكن، إصدار نسخة جديدة (متوافقة) من حزمتك مع إلغاء تثبيت الحد الأعلى لمتطلباتها.