الصفحاتالأخطاء المحتملة · 29 / 29
الأخطاء المحتملة وحلولها
أخطاء شائعة قد تواجهها في بيئة تطوير QuantCraft وكيفية حلّها. ستتوسع هذه الصفحة كلما وُثّقت مشكلات أخرى. لمعرفة تثبيت الحزم عمومًا، راجع التبعيات.
فهرس الأخطاء
- تثبيت الحزمة: «a file it ships is in use»
- تثبيت الحزمة: «pip metadata is missing» / «broken install»
- الاختبار الرجعي: «User script must define callable: …»
- الاختبار الرجعي: «No bars in the selected date range after warmup filter …»
- الاختبار الرجعي: «A screener symbol source needs an explicit start and end date …»
- Debug Test: «Debug test doesn't support a Screener symbol source …»
تثبيت الحزمة: «a file it ships is in use»
ما ستراه
يفشل تثبيت حزمة من IDE Packages برسالة:
Package install failed (polars): Could not install 'polars' — a file it ships is in use
(a compiled extension like this is loaded by the editor's background workers, so pip
can't replace it). Quit QuantCraft to release the file, reopen it, and install again.
Pinning an exact version that is already installed avoids the overwrite.وتحت ذلك، واجه pip الخطأ [WinError 5] Access is denied على Windows (أو [Errno 13] Permission denied على macOS / Linux) عند ملحق مترجَم — ملف .pyd أو .so أو .dll مثل _polars_runtime.pyd داخل بيئة Python الخاصة ببيئة التطوير.
لماذا يحدث
تأتي بعض الحزم (polars وnumpy وpyarrow ومكتبات أصلية أخرى) بـملحق مترجَم يُحمَّل في الذاكرة عند استيراد الحزمة. وتستورد العمليات الخلفية في بيئة التطوير حزمك المثبّتة لتشغيل الإكمال التلقائي والتحليل، فيُحمَّل ذلك الملف. والملف المحمَّل حاليًا لا يمكن الكتابة فوقه، لذا عندما يحاول pip استبداله أثناء تثبيت أو ترقية، يحظر نظام التشغيل ذلك.
ولهذا قد تراه عند تثبيت أحدث إصدار (إذ يجب على pip الكتابة فوق الملف المحمَّل) ولكن ليس عند تثبيت إصدار محدد مثبّت بالفعل (إذ لا يرى pip ما يغيّره فيتخطى الملف تمامًا).
كيفية الإصلاح
- أغلق QuantCraft بالكامل — فهذا ينهي عمليات Python الخلفية التي تُبقي الملف مفتوحًا.
- أعد فتح QuantCraft.
- ثبّت الحزمة مرة أخرى، ويفضّل قبل فتح أو تشغيل نص يستوردها.
نصائح:
- إذا كانت الحزمة مثبّتة بالفعل وتعمل، فغالبًا لا تحتاج إلى إعادة تثبيتها أصلًا.
- تثبيت إصدار محدد مثبّت بالفعل (مثل
polars==1.41.2) يتجنب الكتابة فوق الملف وينجح دون إعادة تشغيل.
تثبيت الحزمة: «pip metadata is missing» / «broken install»
ما ستراه
Could not install 'somepkg' (pip metadata is missing). Try installing again to force a
clean copy, or quit QuantCraft, delete the ide-venv folder, and restart the app.أو Could not install 'somepkg' (broken install).
لماذا يحدث
انقطع تثبيت أو إزالة تثبيت سابقة وترك الحزمة نصف مثبّتة، فلا يجد pip سجلّ الملفات التي تعود إليها.
كيفية الإصلاح
- ثبّت الحزمة مرة أخرى من IDE Packages — وهذا يفرض عادةً نسخة نظيفة.
- إذا استمر الفشل، فأغلق QuantCraft واحذف مجلد
ide-venvالمذكور في الرسالة ثم أعد التشغيل. يعيد التطبيق إنشاء البيئة؛ أعد تثبيت حزمك الإضافية بعد ذلك.
الاختبار الرجعي: «User script must define callable: …»
ينقص ملف الاستراتيجية إحدى دوال الاستدعاء المطلوبة — on_init أو on_bar أو on_tick أو on_finish — أو أنها ليست دالة. يتحقق زر Test فقط من on_init / on_bar / on_finish، لذا فإن غياب on_tick هو السبب المعتاد. أضف هذا إن لم تكن بحاجة إليها:
def on_tick(bar_index, tick_in_bar, price, bar, symbol=None):
passراجع دورة حياة الاستراتيجية.
الاختبار الرجعي: «No bars in the selected date range after warmup filter …»
لا تحتوي تواريخ البدء / الانتهاء على أي شموع لرمز الساعة — مثل نطاق عطلة نهاية الأسبوع فقط، أو تواريخ قبل بدء تداول الرمز، أو نطاق يتجاوز البيانات المتاحة. وسّع التواريخ أو تحقق من الرمز. وقد يعرض مصدر QuantCraft (B2) بدلًا من ذلك No AAPL bars (d) between … Available range is … to …، وهو ما يخبرك بالنطاق الصالح. راجع بيانات OHLCV والأعمدة.
الاختبار الرجعي: «A screener symbol source needs an explicit start and end date …»
يحدد الاختبار الرجعي الذي يكون Symbol source فيه Screener جدول إعادة التوازن من النطاق الزمني قبل تحميل أي أعمدة، لذا يلزم التاريخان معًا. عيّن Start وEnd في علامة التبويب Simulation. راجع الماسح (Screener).
Debug Test: «Debug test doesn't support a Screener symbol source …»
يشغّل Debug Test قائمة ثابتة من الرموز. بدّل Symbol source إلى Selected symbols، واختر رمزًا أو اثنين من الرموز التي تعيدها عملية الفرز لديك، ثم صحّح باستخدامها. راجع تصحيح الأخطاء.

