أكثر

إعداد PyCharm للإشارة إلى ArcPy؟

إعداد PyCharm للإشارة إلى ArcPy؟


كيف أقوم بإعداد PyCharm للتعرف عليهاستيراد آركبي?

أرغب في استخدام PyCharm لتطوير أداة المعالجة الجغرافية وتصحيحها.


theJones صحيح ، أغلق جميع مشاريعك وانتقل إلى إعدادات البرنامج وابحث عن مترجمي Python. ثم حدد C: Python26 ArcGIS10.0 python.exe ويجب أن يضيف Arcpy تلقائيًا لك.


لمتابعة jones و user5584 ، يخزن PyCharm 4 الآن الإعداد تحت "مشروع مترجم فوري "وليس" مترجمي بايثون. "

مع إغلاق جميع المشاريع ، و PyCharm لا يزال مفتوحًا ، انتقل إلى "تكوين" ثم "إعدادات". يوجد "مترجم المشروع" ضمن قائمة "المشروع الافتراضي" على اليسار.

انقر فوق ترس الإعدادات في الجزء العلوي الأيسر ، ثم انقر فوق "إضافة محلي". انتقل إلى C: Python27 ArcGIS10.2 python.exe (أو المسار المناسب لإصدارك).

اضغط على تطبيق ويجب أن تحصل عليه. ربما كانت هناك خطوة أخرى لتحميل شيء ما أو تمكينه في أسفل النافذة ، لكن لا يمكنني ظهور هذه الرسالة مرة أخرى ولم تتطلب أي شيء سوى النقر عليها.

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


يمكنك القيام بذلك في إعداد هيكل المشروع. فقط قم بإضافته كـ sdk ويجب أن يعمل. أنا أستخدم intelliJ لكن يجب أن تكون pycharm هي نفسها.

PyCharmDocs

أضف هذا (استخدم المسار الخاص بك) لمسار sdk C: Python26 ArcGIS10.0 python.exe

أعطها اسما ويجب أن تكون جيدا. بإضافته كجهاز sdk عالمي ، يجب أن تكون قد انتهيت واستكمل الكود.


لقد تغير الكثير منذ التحديث الأخير ومن ثم الإجابة على هذا لتتماشى مع واجهة PyCharm الإصدار 2018:

  1. أغلق جميع المشاريع عن طريق تحديد ملف> إغلاق المشاريع
  2. حدد تكوين رمز الترس> الإعدادات

  1. حدد Project Interpreter وانقر على أيقونة ترس أخرى بجوار القائمة المنسدلة Project Interpreter وحدد "إضافة"

  1. حدد "البيئة الحالية" وحدد موقع python.exe ضمن Python27 في محرك الأقراص C.

  1. حدد تطبيق وموافق.

سيستغرق الأمر بعض الوقت للفهرسة ، وإذا ظهر خطأ مفاده أنه "لم يتم اكتشاف مترجم فوري" عند فتح مشروع ، فحدد ملف> إعدادات> مترجم المشروع> حدد Python 2.7 من القائمة المنسدلة التي قمت بتعيينها مؤخرًا.


إذا كنت تريد الاطلاع على التوثيق السريع والوثائق الخارجية من PyCharm (الإصدار 2016.2.1) إذن:

  1. تحتاج إلى تشغيل مجلد مستندات الوحدة النمطية (ضمن ArcGIS> Python 2.7) أولاً ،

  2. أضف الإدخال التالي ضمن ملف> إعدادات> أدوات> وثائق بايثون الخارجية

اسم الوحدة: arcpy

عنوان URL / نمط المسار: http: // localhost: 7464 / {module.name} .html # - {function.name}

  1. ضع المؤشر في نهاية الوظيفة ، على سبيل المثال MoveLayer واضغط على Shift + F1

  2. يجب أن يفتح متصفح الويب الخاص بك بعنوان URL التالي http: // localhost: 7464 / arcpy.mapping.html # -MoveLayer


Python في ArcGIS Pro

Python هي لغة برمجة مجانية ومتعددة المنصات ومفتوحة المصدر قوية وسهلة التعلم. يستخدم ويدعم على نطاق واسع. لمعرفة المزيد حول Python ، قم بزيارة موقع python.org.

تم تقديم Python إلى مجتمع ArcGIS باستخدام ArcGIS 9.0. منذ ذلك الحين ، تم قبولها كلغة برمجة نصية مفضلة لمستخدمي المعالجة الجيولوجية وتستمر في النمو. عزز كل إصدار من تجربة Python ، مما وفر المزيد من القدرات وتجربة أكثر ثراءً متوافقة مع Python.

تبنت Esri تمامًا Python for ArcGIS وترى أن Python هي اللغة التي تلبي احتياجات مجتمع مستخدمي Esri. فيما يلي بعض مزايا بايثون:

  • سهل التعلم ومناسب للمبتدئين والخبراء
  • قابل للتطوير بدرجة عالية ، ومناسب للمشاريع الكبيرة أو البرامج الصغيرة التي تُعرف باسم البرامج النصية
  • محمول ، متعدد المنصات
  • قابل للتضمين (جعل ArcGIS قابل للبرمجة)
  • مستقرة وناضجة
  • مجتمع مستخدم كبير

تلبية IDE الخاص بك

كما هو مذكور في المنشور السابق ، من المحتمل أن تستخدم بيئتين مختلفتين من Python لعمل ArcGIS Pro. الأول هو نافذة بايثون. يعد هذا مكانًا جيدًا لاختبار أجزاء التعليمات البرمجية ومشاهدة النتائج الفورية على الخريطة. يمكنك كتابة نصوص كاملة في نافذة Python ، ولكن من المحتمل أن تجد هذا أسهل في القيام به خارج ArcGIS Pro في IDE.

IDE ، أو بيئة التطوير المتكاملة ، هو تطبيق يوفر بيئة لكتابة التعليمات البرمجية وتصحيحها وتشغيلها. تحدد IDEs الأخطاء المحتملة ، وتسمح لك بتشغيل التعليمات البرمجية في سطر واحد في كل مرة ، وتوفر بشكل عام بيئة أكثر قوة لإنشاء البرامج النصية.

في هذا الجزء من البرنامج التعليمي ، ستقوم بإنشاء نص برمجي في PyCharm IDE لاستخراج المعلومات من فئة الميزات دون فتحها في Pro. قبل أن تبدأ ، قم بتنزيل Pycharm. اختر إصدار المجتمع المجاني واتبع تعليمات الإعداد.

أ بايثون 3 مترجم (برنامج يقرأ وينفذ كود Python) تم تثبيته على جهازك عند تنزيل ArcGIS Pro ، ولكن من أجل الوصول إليه ، تحتاج أولاً إلى توجيه PyCharm إلى الموقع. ستفعل ذلك من خلال تكوين إعدادات المترجم الفوري.

ملاحظة: هناك الكثير من IDEs للاختيار من بينها ، ولكل منها فوائده الخاصة. لقد اخترت PyCharm لأنه IDE الذي تستخدمه دورتان تدريبيتان Esri مفيدتان للغاية أعتقد أنه يجب عليك تجربتهما. إنها Python for Everyone (مجانية) ، و Python Scripting for Geoprocessing Workflows (مجانًا إذا كنت تحت الصيانة).

  1. افتح PyCharm (إذا لم يفتح تلقائيًا بعد التنزيل ، فانتقل إلى قائمة ابدأ في Windows. في قائمة البرامج ، ابحث عن JetBrains PyCharm Community Edition). قد تظهر عدة نوافذ منبثقة. اقبل الإعدادات والاتفاقيات الافتراضية حسب الضرورة حتى ترى شاشة الترحيب.
  2. انقر فوق تكوين ثم الإعدادات (يمكنك أيضًا الوصول إلى الإعدادات من قائمة ملف داخل PyCharm).
  3. سيتم فتح نافذة الإعدادات على علامة التبويب المظهر. لقد استخدمت & # 8217 سمة IntelliJ لالتقاط لقطات شاشة لهذه المدونة ، يمكنك اختياريًا تغيير المظهر الخاص بك هنا لمطابقة المظهر الخاص بي. حدد الموضوع من القائمة المنسدلة وانقر فوق تطبيق.
  4. انقر فوق Project Interpreter من القائمة الموجودة على اليسار.
  5. في الزاوية العلوية اليمنى من الصفحة ، انقر فوق الزر تكوين على شكل تروس ثم إضافة.
  6. في النافذة المنبثقة ، انقر فوق علامة التبويب System Interpreter (مترجم النظام) ، وانقر فوق استعراض (...) بجوار المسار الافتراضي.
  7. انتقل إلى C: Program Files ArcGIS Pro bin Python envs arcgispro-py3 و اختار python.exe. انقر فوق "موافق" ثلاث مرات ، أو حتى تعود إلى شاشة الترحيب. سيستغرق تحديث المترجم بضع دقائق.

الآن ، عد إلى حيث توقفنا في قصتنا ...

الأنواع التي تجوب شوارعنا (حيوانات حديقة الحيوانات المارقة ، تابع)

أنت محلل نظم المعلومات الجغرافية لمدينة ريدلاندز ، حيث كان صباحًا محمومًا. الليلة الماضية ، تم إطلاق مجموعة من الحيوانات من حديقة الحيوان ، واليوم تسعى السلطات جاهدة لضمان السلامة العامة. كنت تعمل في ArcGIS Pro باستخدام نافذة Python لتحديد المدارس في نطاق كيلومتر واحد من مشاهدات الحيوانات المبلغ عنها. مثلما تقوم بنسخ عملك احتياطيًا إلى ملف Python وتفكر في كيفية تحسين النص الجديد ، هناك طرق على باب مكتبك. لسوء الحظ ، ليست الصحافة المحلية هي التي تسألك عن كيفية تسخيرك لقوة نظم المعلومات الجغرافية للمساعدة في إنقاذ الأطفال من حيوانات حديقة الحيوانات البرية. رئيسك هو الذي يريدك أن تعمل على شيء مختلف الآن. تطلب مراقبة الحيوانات قائمة بالأنواع التي شاهدها أحد العاملين الميدانيين ، جيمي ، الذي لا يستجيب للمكالمات.

نظرًا لأنك نظرت للتو في جدول البيانات للمشاهدات الميدانية لجيمي في ArcGIS Pro ، فأنت تعرف الأنواع الثلاثة من الحيوانات التي شاهدها ، وتقوم بنقل هذه المعلومات. "ولكن ماذا لو عادوا في وقت لاحق من اليوم ويريدون معلومات عن وكيل آخر؟" تتساءل. "أو إذا كانت مجموعة البيانات التالية التي يرسلها جيمي أطول ويصعب استعراضها بصريًا؟"

هذا يستدعي سيناريو. هذه المرة ، ستقوم بعملك خارج ArcGIS Pro ، في PyCharm IDE. بهذه الطريقة ، ستتمكن من تعديلها لاحقًا بسهولة ، وبما أن النتائج التي تريدها ستكون نصية ، فليس من المهم إلقاء نظرة على الخريطة.

  1. أنشئ مجلدًا جديدًا لنصوص Python النصية المتعلقة بحديقة الحيوان في موقع مناسب ، مثل محرك الأقراص C ، وقم بتسميته PythonZoo.
  2. ارجع إلى شاشة الترحيب في PyCharm ، إذا كانت لا تزال مفتوحة ، أو افتح PyCharm مرة أخرى.
  3. انقر فوق فتح (إذا كنت في نافذة غير شاشة الترحيب ، فانقر فوق ملف & gt فتح). استعرض للوصول إلى مجلد PythonZoo وحدده وانقر فوق موافق.

يفتح مشروع PythonZoo في PyCharm. مثل ArcGIS Pro ، PyCharm هي بيئة عمل قائمة على المشاريع. عندما تفتح مجلدًا فارغًا ، تضيف PyCharm تلقائيًا ملفات تكوين جديدة لتحويل المجلد إلى مشروع Python. الآن ، يمكنك البدء في إضافة البرامج النصية إلى المشروع.

  1. من شجرة مجلد المشروع على اليسار ، ضمن المشروع ، انقر بزر الماوس الأيمن فوق PythonZoo ، وقم بالمرور فوق جديد ، واختر ملف Python. اسم الملف الأنواع وانقر فوق "موافق".

جديد محرر تفتح النافذة. أنت الآن تعمل في ملف SpeciesID.py داخل مشروع PythonZoo. نصوص Python لها امتداد .py ، لكنها في الأساس مجرد ملفات نصية بامتداد خاص يخبر مترجم بايثون عن ماهيتها.

ستبدأ البرنامج النصي الخاص بك عن طريق استيراد Arcpy وحدة. الوحدة النمطية هي مجموعة من وظائف وفئات وكائنات Python ذات الصلة التي تستخدمها لإنجاز نوع معين من المهام: في حالة ArcPy ، البرمجة النصية لـ ArcGIS Pro.

يتم استيراد وحدة ArcPy النمطية تلقائيًا عند العمل في ArcGIS Pro ، ولكن ليس في PyCharm. ArcPy هي واحدة من آلاف وحدات Python الموجودة. إذا تم استيراد كل هذه البرامج تلقائيًا ، فسيستغرق تشغيل أبسط البرامج النصية وقتًا طويلاً جدًا جدًا. لهذا السبب يجب استيراد معظم الوحدات بشكل صريح إلى كل نص برمجي.

ملاحظة: إذا واجهتك مشكلة أثناء اتباع هذه الإرشادات ، فسيتم توفير نسخة من النص البرمجي النهائي في مقتطف الشفرة في نهاية هذا المنشور للرجوع إليه.

بعد ذلك ، ستضيف وحدة ثانية ، NumPy. بينما يوفر ArcPy معظم وظائف ArcGIS Pro المخصصة التي تحتاجها ، يمكنك دمج هذه الوظيفة مع الوحدات النمطية الأخرى لتنويع خياراتك. في هذا النص البرمجي ، ستستخدم NumPy لإنشاء قائمة بالقيم الفريدة (أي قائمة شاملة بالأنواع) من بيانات الرؤية الميدانية لجيمي.

بعد ذلك ، ستقوم بتعيين ArcPy بيئة. البيئة هي الموقع على جهاز الكمبيوتر الخاص بك حيث سيبحث مترجم Python عن الملفات المرجعية ويخزن المخرجات افتراضيًا. في هذه الحالة ، إنها قاعدة البيانات الجغرافية لـ ZooEscape. عندما كنت تعمل في مشروع ZooEscape في ArcGIS Pro ، لم يكن عليك تحديد ذلك ، ولكن في PyCharm ، أنت تفعل ذلك.

  1. اضغط على Enter مرة أخرى لتخطي سطر (ترك أسطر فارغة يجعل الرمز الخاص بك أكثر قابلية للقراءة). ثم في السطر 4 من البرنامج النصي ، اكتب arcpy.env.workspace = r ""

ستلصق مسارك المحلي إلى قاعدة البيانات الجغرافية ZooEscape بين علامتي الاقتباس. هناك عدة طرق للعثور عليه & # 8217ll بنسخه من إعدادات قاعدة البيانات الجغرافية في ArcGIS Pro.

ملاحظة: في Python ، تُستخدم الشرطة المائلة للخلف أحيانًا لبدء تسلسلات الهروب. على سبيل المثال ، n يبدأ سطرًا جديدًا و t يُدرج علامة تبويب. يمكن أن يتسبب ذلك في حدوث مشكلات للمسارات التي تحتوي بالصدفة على مجموعات الأحرف هذه. لذلك ، كأفضل ممارسة ، نكتب الحرف r قبل المسارات. يرمز r إلى "خام" ويخبر مترجم بايثون أنه يجب قراءة الخطوط المائلة العكسية على أنها خطوط مائلة للخلف.

  1. افتح مشروع ZooEscape الذي استخدمته في البرنامج التعليمي الأخير في ArcGIS Pro. في الكتالوج ، انقر بزر الماوس الأيمن فوق ZooEscape.gdb وانقر فوق خصائص. في نافذة خصائص قاعدة البيانات ، انسخ المسار الكامل من مربع الاسم. أغلق ArcGIS Pro.
  2. ارجع إلى PyCharm والصق المسار بين علامات الاقتباس. في نهاية السطر ، اضغط على Enter.

حدث أمران. تم تلوين بيان الاستيراد لـ ArcPy لأنك قمت بذلك اتصل (مستعملة) الوحدة. اعتمادًا على طول مسارك ، قد تلاحظ أيضًا وجود خط تحتهي رمادي تحته. عندما تحوم فوقها ، تظهر شاشة تخبرك أن السطر طويل جدًا لأنه & # 8217s يزيد عن 120 حرفًا. هذا اقتراح غير نقدي ولن يمنع تشغيل النص البرمجي. إذا كان التسطير باللون الأحمر ، فهذا يدل على احتمال وجود مشكلة حرجة.

قبل كل خطوة من خطوات النص ، ستدوين ملاحظة باستخدام التعليق كود مزيف. للشفرة الكاذبة غرضان: يوجه عملك أثناء كتابة التعليمات البرمجية ، ويخبر أي شخص يقرأ الكود الخاص بك فيما بعد بما يفعله كل قسم. ستستخدم علامة # في بداية كل سطر كود كاذب حتى يتجاهلها المترجم الشفهي ، ولكن يمكنك قراءتها.

# إنشاء وظيفة جديدة تقوم بإرجاع قائمة الأنواع عن طريق تحديد القيم الفريدة في جدول البيانات الجدولية.

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

تشير الكلمة الأساسية المعرِّفة إلى أنك تقوم بتعريف دالة. يتبعه اسم الوظيفة والمعلمات أو الوسيطات التي تتطلبها. عندما تضغط على Enter ، يتم وضع مسافة بادئة للسطر التالي تلقائيًا. هذا هو المكان الذي ستكتب فيه الأعمال الداخلية للوظيفة ، أو بعبارة أخرى ، ما الذي سيحدث خلف الكواليس في كل مرة تتصل فيها بـ getSpecies.

data = arcpy.da.TableToNumPyArray (جدول، [حقل])

هنا ، تقوم بتحويل جدول السمات إلى فئة Python التي يمكن لـ NumPy استخدامها ، والتي تسمى مجموعة مصفوفة، وتخصيص هذه المصفوفة لبيانات المتغير. أنت تقوم بتضمين دالة من ArcPy في وظيفتك الجديدة. المعلومات المطلوبة لاستخدام وظيفة ArcPy هذه مأخوذة من صفحة المساعدة الخاصة بها.

الآن ، ستستخدم الكلمة الرئيسية للعودة لإعطاء وظيفتك مخرجات - قائمة بالأنواع الفريدة.

الآن بعد أن أنشأت مصفوفة NumPy (بيانات) تحتوي على المعلومات التي تحتاجها (حقل) ، يمكنك استخدام الوظيفة الفريدة للعثور على قيم فريدة. تقوم هذه الوظيفة بإرجاع مصفوفة تلقائيًا ، ولكن إضافة .tolist () يحولها إلى قائمة ، وهي نوع بيانات أكثر شيوعًا.

  1. تم الانتهاء من وظيفتك. اضغط على Enter لإنشاء سطر فارغ في السطر 10. بعد ذلك ، ستستدعي الوظيفة الجديدة.
  2. في السطر 11 ، ابدأ بكتابة شرح الرمز الكاذب التالي واضغط على Enter-

# استدعاء الوظيفة الجديدة وتخصيص الإخراج إلى متغير.

الأنواعList = getSpecies ("FieldSightings_Jimmy"، "الأنواع")

يمكنك الآن استخدام getSpecies كما تفعل مع أي وظيفة مضمنة أخرى. ما عليك سوى ملء المعطيات المطلوبة (اسم الجدول متبوعًا باسم الحقل الذي يحتوي عليه). هنا ، تقوم بتعيين الإخراج إلى متغير جديد ، هو قائمة الأنواع ، والتي يمكن طباعتها.

# اطبع المتغير الذي يحتوي على قائمة الأنواع.

ملاحظة: تقدم PyCharm اقتراحات لإكمال التعليمات البرمجية تلقائيًا. على سبيل المثال ، بعد قيامك بكتابة sp ، ربما تكون قد لاحظت screentip مع الأنواع قائمة بجوار حرف صغير الخامس للمتغير. لقبول اقتراح مثل هذا ، اضغط على Tab.

البرنامج النصي الخاص بك جاهز الآن للتشغيل.

تظهر نافذة التشغيل أسفل المحرر. بعد لحظات قليلة ، ستظهر قائمة بثلاثة أنواع متبوعة بالنص انتهت العملية برمز الخروج 0، مما يعني أن البرنامج النصي تم تشغيله بنجاح.

إذا لم تحصل على النتائج المتوقعة ، فتحقق من عملك مقابل مقتطف الشفرة هذا (لا يزال يتعين عليك ملء المسار إلى قاعدة البيانات الجغرافية المحلية):

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


نبذة عن الكاتب

Tom Thompson هو محلل دعم مطور مع فريق دعم مطوري Esri Canada. حصل على بكالوريوس العلوم في علوم الأرض والجيوماتكس البيئية من جامعة جيلف وشهادة الدراسات العليا كأخصائي تطبيقات نظم المعلومات الجغرافية من كلية فليمنغ. ينبع شغف توم بنظم المعلومات الجغرافية من طفولته التي قضاها في استكشاف البلد الريفي في أونتاريو واهتمامه بالتكنولوجيا. يأمل أن يساعد عمله في نظم المعلومات الجغرافية في إدارة البيئة ورعايتها حتى تستمتع الأجيال القادمة بها كما يفعل. في دور توم اليومي ، يقدم الدعم للعملاء الذين نفذوا الأتمتة أو التخصيص لبرامج وتطبيقات Esri.


ما سوف تتعلمه

  • فهم الأعمال الداخلية لمنصة IntelliJ
  • استفد من أدوات البحث القوية في PyCharm ، وتعرّف على الأدوات الأفضل لك ولسير عملك
  • قم بتخصيص مترجم Python المحسن من PyCharm ومحطته المدمجة
  • تطوير تطبيقات الويب بسرعة وسهولة باستخدام أطر عمل مختلفة مثل Flask و Django
  • تعرف على كيفية عمل إكمال التعليمات البرمجية في PyCharm لكل من Python و JavaScript
  • قم بإجراء مكالمات للأدوات الخارجية ، واستخدم وحدات ماكرو PyCharm لصالحك

الكود التالي يعمل في PyCharm. يتم تعبئة الوسادة على شكل python3-pil و matplotlib يتم تعبئتها على شكل python3-matplotlib في Ubuntu. يتم عرض الصورة في نافذة جديدة. لقد قمت بنسخ صورتي ، المسماة image.png ، إلى مجلد venv الخاص بمشروع PyCharm حتى تعثر عليه PyCharm تلقائيًا.

ملحوظة: لا تعثر PyCharm تلقائيًا على حزم Python المثبتة عالميًا إلا إذا تم تكوين المشروع للعثور عليها. للقيام بذلك حدد ملف ترث حزم الموقع العالمي الخيار عند إنشاء مشروع جديد.

يختار ملفمشروع جديد لإنشاء مشروع جديد. انقر فوق المثلث المميز بمؤشر الماوس في لقطة الشاشة أدناه لإظهار خيارات المشروع الجديد.

ثم تحقق من ملف ترث حزم الموقع العالمي مربع الاختيار وانقر فوق الزر "إنشاء" في الركن الأيمن السفلي من ملف أنشئ مشروعًا نافذة او شباك.


إضافة التكوين لبرامج بايثون

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

استخدام المتغيرات الثابتة

عندما تكتب نصًا برمجيًا صغيرًا من لغة Python ، على سبيل المثال ، البرنامج الذي سيقرأ ملفًا نصيًا مخزنًا في مجلد ، ويقوم ببعض المعالجة ، ويكتب بعض الملفات الجديدة على القرص ، فقد يكون ذلك كافيًا فقط لتعريف ثابت ستضعه في الجزء العلوي من الوحدة النمطية الخاصة بك ثم إعادة استخدامها في جميع أنحاء وحدة Python. عند تحديد هذه المتغيرات ، لن تحتاج & # 8217t إلى تحديث السلاسل في أماكن متعددة في التعليمات البرمجية الخاصة بك إذا احتجت إلى إعادة تشغيل كود Python الخاص بك لمجلد آخر. من PEP-8:

عادةً ما يتم تحديد الثوابت على مستوى الوحدة النمطية ويتم كتابتها بأحرف كبيرة مع شرطات سفلية تفصل بين الكلمات. الامثله تشمل MAX_OVERFLOW و مجموع.

إذا ارتفع عدد الثوابت أو قيم التكوين ، فقد ترغب في نقلها إلى وحدة Python منفصلة ثم استيراد تلك الثوابت التي تحتاجها فقط.

باستخدام ملف JSON

يمكن أن تكون إعدادات تكوين JSON معقدة وكبيرة للغاية ، لكن لغة Python تحتوي على وحدة نمطية مضمنة json لقراءة بيانات JSON وكتابتها. يتميز هذا النهج أيضًا بكونه محمولًا جدًا. هناك بعض السلبيات عند استخدام JSON كملف تكوين رئيسي: إنه لا يدعم التعليقات & # 8217t ولا يدعم أي كود Python (على سبيل المثال ، باستخدام os.path.join). ومع ذلك ، فإن JSON هو خيار شائع جدًا من حيث التكوين.

باستخدام وحدة ConfigParser

لغة Python لديها ConfigParser وحدة مدمجة. من مساعدة Python:

توفر هذه الوحدة فئة ConfigParser التي تطبق لغة تكوين أساسية توفر بنية مشابهة لما هو موجود في ملفات Microsoft Windows INI. يمكنك استخدام هذا لكتابة برامج Python التي يمكن للمستخدمين النهائيين تخصيصها بسهولة.

يشبه إلى حد كبير قراءة ملف JSON. قد يجادل البعض بأنه & # 8217s تحديث ملفات .ini أسهل من ملفات JSON لأنك لا تحتاج إلى التأكد من أنك تحتفظ بالأقواس المتعرجة والاقتباسات في المكان الصحيح. صحيح بالتأكيد إذا كان سيتم تحديث ملف التكوين بواسطة المستخدمين النهائيين لبرامجك.

استخدام المتغيرات العامة

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

استخدام متغيرات بيئة نظام التشغيل

يمكن أن يكون هذا مفيدًا للغاية عندما تعمل الوحدة النمطية الخاصة بك على أجهزة مختلفة وتحتاج إلى استخدام اتصالات أو حسابات مستخدمين مختلفة حسب مكان تشغيل الكود الخاص بك. عندما تقوم بنقل ملفات Python الخاصة بك بين البيئات (من التدريج إلى الإنتاج ، على سبيل المثال) ، سيصبح قريبًا أمرًا صعبًا لتحديث التكوين لتوجيهه إلى الملفات والبيانات الصحيحة.

يمكن أن يكون الحل الأكثر مرونة هو استخدام بيئات أنظمة التشغيل. يمكن إنشاؤها مرة واحدة على كل جهاز تعرف أنك ستقوم بتشغيل الكود الخاص بك ثم استخدام دالة os.getenv () Python لقراءة قيمة المتغير واستخدامها لتحديد القيم التي يجب استخدامها. أجد أن هذا الأسلوب مفيد للغاية وأنا أستخدمه طوال الوقت: لن تحتاج أبدًا إلى تحديث التكوين حيث سيتم اختيار الإعدادات الصحيحة بغض النظر عن الجهاز الذي يعمل به الكود الخاص بك.

استخدام مُنشئ الفصل

سيعمل هذا النهج بشكل أفضل عند إنشاء برنامج كبير وتريد التأكد من عدم وجود أي متغيرات عالمية تشوش مساحة الاسم الخاصة بك وجميع متغيرات السياق الخاصة بك تأتي من نقطة واحدة ، وهي واجهة الفصل. من الواضح أن هذا يعمل بشكل أفضل عندما تتبنى نهج OOP في كتابة برنامج Python لأنه في هذه الحالة سيكون مثيل الفئة على دراية بخصائصه وليس هناك حاجة لتتبع المتغيرات العامة. إذا كنت مستعدًا لاستكشاف بعض الأساليب الأكثر تعقيدًا ، فقم بإلقاء نظرة على حقن التبعية.

هناك العديد من المنشورات الممتازة على StackOverflow فيما يتعلق بالتكوين ، مثل هذا واحد وهذا واحد.

فيما يلي بعض المقتطفات المفيدة لتوضيح خيارات التكوين.


لجعل متغير البيئة يمكن الوصول إليه عالميًا ، تحتاج إلى تعيينه في السجل. كما أدركت بمجرد استخدام:

أنت فقط تضعه في مساحة العملية الحالية.

وفقًا لهذه الصفحة ، يمكنك استخدام الأمر setx:

تم تضمين setx في نظام التشغيل Windows 7 ، ولكن قد تتوفر الإصدارات الأقدم فقط إذا قمت بتثبيت Windows Resource Kit

يمكننا أيضًا استخدام "setx var vari / M" لتعيين var على مستوى متغير بيئة النظام بدلاً من مستوى المستخدم.

ملاحظة: يجب تشغيل هذا الأمر كمسؤول.

/ M لتعيين مستوى متغير بيئة النظام بدلاً من مستوى المستخدم مثلMinh Chau answer

إعادة بدء سطر الأوامر (إذا لم تقم بإعادة تشغيل سطر الأوامر ، فلن يعمل متغير البيئة)

يمكنك استخدام setx env var [/ M] كما هو مذكور أعلاه. إذا لم يتم تفعيله ، يمكنك استخدام Refreshenv لتحديث متغيرات البيئة. لست مضطرًا إلى إعادة تشغيل جهاز الكمبيوتر أو explorer.exe أو موجه الأوامر للقيام بذلك.

تحرير: لا يأتي التحديث بشكل طبيعي مع Windows ، لذا إليك المصدر: https://pastebin.com/1fJqA0pT
احفظ كملف RefreshEnv.cmd وضعه في مجلد مضمن في متغيرات بيئة PATH

يمكن ضبط متغيرات النظام من خلال CMD والتسجيل على سبيل المثال. استعلام reg "HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Session Manager Environment" / v PATH

يتم تقديم جميع رموز CMD الشائعة ومتغيرات النظام هنا: تعيين متغيرات بيئة نظام Windows باستخدام CMD.

افتح CMD واكتب تعيين

ستحصل على جميع قيم متغير النظام.

اكتب ضبط جافا لمعرفة تفاصيل مسار جافا المثبتة على نظام تشغيل النافذة الخاص بك.


بناء الجملة

واحد أو أكثر من ملفات الإدخال أو المجلدات التي تحتوي على بيانات بالتنسيقات المدعومة. تتضمن التنسيقات المدعومة 3D Studio Max (* .3ds) و SketchUp (* .skp) و VRML و GeoVRML (* .wrl) و OpenFlight (* .flt).

فئة ميزة الإخراج المتعدد التي سيتم إنشاؤها.

يشير إلى ما إذا كان سيتم إنتاج ميزة واحدة لكل ملف أو ميزة واحدة لكل عقدة جذر في الملف.

  • ONE_ROOT_ONE_FEATURE - سيحتوي الإخراج الذي تم إنشاؤه على ميزة واحدة لكل عقدة جذر في الملف.
  • ONE_FILE_ONE_FEATURE - سيحتوي الإخراج الذي تم إنشاؤه على ملف واحد لكل ميزة. هذا هو الافتراضي.

نظام إحداثيات بيانات الإدخال. الإعداد الافتراضي مأخوذ من الملف الأول في القائمة. بالنسبة لغالبية التنسيقات ، هذا غير معروف. فقط تنسيق GeoVRML يعرف نظام الإحداثيات.

الاتجاه العمودي لنظام إحداثيات الإدخال.

لاحقة الملفات المراد استيرادها من مجلد إدخال. هذه المعلمة مطلوبة عند تحديد مجلد كمدخل.


شاهد الفيديو: Setting up Pycharm for ArcPy