"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > Emacs للغة بايثون والشعر باستخدام ``basedpyright-langserver``

Emacs للغة بايثون والشعر باستخدام ``basedpyright-langserver``

تم النشر بتاريخ 2024-11-05
تصفح:486

Emacs for Python and Poetry Using `basedpyright-langserver`

أنا سعيد جدًا بإعداد emacs الحالي الخاص بي لـ Python، لكنني وجدت أن الإعداد صعب بعض الشيء. سأقوم بتوثيق الإعداد الخاص بي هنا لنفسي في المستقبل ولأي من مستخدمي Pythonist الآخرين الذين يبحثون عن تكوين emacs قوي.

لماذا أساس حقوق الطبع والنشر؟

حتى هذه اللحظة، كنت أستخدم mypy --strict في سطر الأوامر لجميع احتياجاتي الخاصة بفحص الكتابة، ولكن mypy بطيء جدًا حتى بالنسبة لقواعد التعليمات البرمجية الصغيرة جدًا، وحتى في الوضع --strict فهو ليس كذلك صارمة كما يمكن أن يكون. كما أنه ليس خادم لغة، وهو ما أريده لإعداد emacs الخاص بي.

تعتبر حقوق الطبع والنشر المستندة إلى حقوق الطبع والنشر بمثابة شوكة من حقوق الطبع والنشر مع بعض التحسينات الممتازة في كل من التحقق والموثوقية. إنه مدقق طباعة سريع وصارم بشكل رائع مع بعض إمكانيات الفحص الجيدة بالإضافة إلى ذلك.

العيوب الوحيدة التي أواجهها هي أنها لا تعمل بشكل جيد تمامًا مثل mypy مع عملاء boto3-stubs لـ AWS وأنها تستخدم # pyright غير قياسي: تجاهل التعليقات بدلاً من النوع # القياسي: تجاهل التعليقات، ولكن يمكنني التعايش مع هذه المشكلات لصالح تجربة صارمة لفحص النوع.

تكوين مشاريع الشعر الخاصة بك للعمل مع حقوق الطبع والنشر أو حقوق الطبع والنشر

إذا كان لديك مشاريع حالية تستخدم الشعر، فسوف ترغب في التلاعب قليلاً ببيئتك الافتراضية.

انتقل إلى جذر كل مشروع من مشاريعك وقم بتشغيل الأمر التالي:


poetry config --local virtualenvs.in-project true


سيؤدي هذا إلى إنشاء ملف poetry.toml إذا لم يكن الملف موجودًا بالفعل وإضافة الإعداد المقابل.

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

معلومات البيئة الشعرية - المسار

poetry env info --path


لا تنس إضافة المسار

.venv إلى .gitignore والتهيئة لأي أدوات أخرى قد تستخدمها، مثل pycodestyle، وإلا فسوف ينتهي بك الأمر إلى فوضى كبيرة.

بعد ذلك، يجب عليك إضافة قسم التكوين إلى

pyproject.toml لإخبار موقع pyright بالمكان الذي تبحث فيه عن بيئتك الافتراضية.

[tool.pyright] فين = ".فينف" فينفباث = "."

poetry env info --path


يمكنك أيضًا القيام بذلك في ملف

pyrightconfig.json إذا كنت، على عكسي، لا تشعر بالفعل بأن ملفات التكوين الخاصة بأدوات تطوير Python المختلفة قد تجاوزت تمامًا.

تثبيت Basedpyright كخادم لغة

أحد الأشياء اللطيفة جدًا بشأن Basedpyright على pyright هو أنه يبني تبعية Nodejs كعجلة، لذا يمكنك التأكد من أن Basedpyright يجب أن يعمل على جهازك بغض النظر عما إذا كان لديك Nodejs مثبتًا أم لا.

للعزل، عادةً ما يكون من الجيد تثبيت حزم Python القابلة للتنفيذ باستخدام pipx بدلاً من pip. دعونا نمضي قدما ونفعل ذلك .

pipx install Basedpyright

poetry env info --path


للتحقق من السلامة، فكر في تشغيل

Basedpyright --version

poetry env info --path


يتيح لك تثبيت Basedpyright أيضًا الوصول إلى الأمر Basedpyright-langserver، ولكن هذا ليس مكتوبًا حقًا للمستخدمين للتفاعل معه، لذلك إذا قمت بتشغيل Basedpyright-langserver أو Basedpyright-langserver --version أو شيء من هذا القبيل، فستحصل على تتبع مكدس Nodejs.

تكوين emacs لاستخدام Basedpyright-langserver

سأفترض أنك كقارئ تعرف كيفية تثبيت الحزم من MELPA ولديك طريقة مفضلة للقيام بذلك. إليك جميع الحزم التي تحتاجها:

    شركة
  • وضع lsp
  • lsp-pyright
  • lsp-ui
  • وضع بايثون
قم بتثبيتها ثم افتح

~/.emacs أو ~/.emacs.d/init.el وأضف ما يلي:

؛؛ الإعدادات العالمية lsp (إضافة خطاف "بعد الخطاف" في وضع الشركة العالمي) (setq lsp-التخمين التلقائي لجذر t) ؛؛ بيثون (يتطلب وضع lsp) (setq lsp-pyright-langserver-command "basedpyright") (خطاف إضافة "وضع الثعبان" (lambda () (يتطلب "lsp-pyright) (lsp)))

poetry env info --path


يجب أن يكون هذا كل ما تحتاجه.

نصيحة عامة لتصحيح وضع lsp

إذا كنت تشعر أنك قمت بإعداد كل شيء بشكل صحيح وما زلت تواجه مشكلة في الحصول على وضع lsp للعثور على الحزم التي يجب أن تكون متاحة في الشعر، فإن الشيء الوحيد الذي يمكنك تجربته هو الدخول وحذف

~/.emacs.d/.lsp-session-v1. سيكون لهذا تأثير في جعل الوضع lsp ينسى جذر المشروع ويجبره على البحث عنه مرة أخرى.

ترميز سعيد!

آمل أن يكون هذا قد منحك بداية جيدة في بيئة تطوير Python الخاصة بك. إذا كانت لديك أي أسئلة، حسنًا، أنا مبتدئ في كل هذا، وربما لا أستطيع مساعدتك، لكنني سأفكر في طلبات الدمج إذا كان لديك أي نصائح أو حيل إضافية لاستخدام Basedpyright مع emacs.

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/webbureaucrat/emacs-for-python-and-poetry-using-basedpyright-langserver-ca9?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] للحذف هو - هي
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3