أكثر

تعذر تنفيذ نص Python النصي الذي تم تصديره من ModelBuilder


لدي نموذج ينسخ قاعدة بيانات جغرافية SDE من نموذج F.C واحد إلى قاعدة بيانات جغرافية مؤقتة ، ثم ينسخها مرة أخرى باسم جديد إلى نفس قاعدة البيانات الجغرافية SDE مرة أخرى. وهذا يعمل بشكل مثالي مع النموذج. لقد قمت الآن بتصدير النموذج إلى برنامج نصي بيثون ، لكن للأسف لم ينجح ذلك ولم أعرف ما هي المشكلة.

هذا هو رمز نتيجة بايثون

# استيراد وحدة arcpy استيراد arcpy # المتغيرات المحلية: Points_DBO_Communities = "اتصالات قاعدة البيانات  1.sde  Points.DBO.Communities" Buildings_POINTS_Select = "C:  Users  ahmads  Documents  ArcGIS  Default.gdb  Buildings_POINTS_Select "Points_DBO_Buildings_POINTS1 =" اتصالات قاعدة البيانات  1.sde  Points.DBO.Buildings_POINTS1 "# العملية: حدد arcpy.Select_analysis (Points_DBO_Communities، Buildings_POINTS_Select،" ") # العملية: نسخ نقاط_نسخ_النموذج "" ، "0" ، "0" ، "0")

أحاول الآن تشغيل الكود وحصلت على هذا التدليك:

"arcgisscripting.ExecuteError: فشل التنفيذ. المعلمات غير صالحة. خطأ 000732: جدول الإدخال: مجموعة البيانات C: Users jamaln Documents ArcGIS Default.gdb UrbanMasterPlans_Objection_S2 غير موجود أو غير مدعوم فشل التنفيذ (AddField) "

ما قد تكون المشكلة هنا؟


تقوم بتشغيل النموذج الخاص بك من ArcMap الذي يكون على علم بمجلد اتصالات قاعدة البيانات الموجود في نافذة الكتالوج. ومع ذلك ، عند تنفيذ التعليمات البرمجية الخاصة بك في ملف Python خارجي ، لا يمكن لـ Arcpy العثور على اتصالات قاعدة البيانات. تحتاج إلى توفير ملف اتصال .sde المخزن في مكان ما على القرص الخاص بك.

أوصي دائمًا باستخدام ملف .sde حتى في النماذج. يمكنك العثور على ملفات الاتصال في C: Users ٪ user٪ AppData Roaming ESRI Desktop10.3 ArcCatalog ثم نسخها في مكان آخر.

أرى أيضًا أنك تحصل على خطأ أثناء محاولة الكتابة فوق فئة ميزة موجودة. يمكنك إذاarcpy. موجود ()المنطق للتحقق مما إذا كان الكائن موجودًا وحذفه أولاً. خلاف ذلك ، استخدم ملفarcpy.env.overwriteOutput = صحيح.


حزمة python-is-python3 في Ubuntu 20.04 - ما هي وماذا تفعل بالفعل؟

بعد استخدام Ubuntu 18.04 لبضع سنوات حتى الآن ، وقراءة أنه تمت إزالة Python 2 من Ubuntu 20.04 ، كنت أتطلع إلى استخدام الأوامر python أو pip بدلاً من python3 أو pip3. لذا جربت اليوم Ubuntu 20.04 لأول مرة ووجدت:

لقد فوجئت وعند النظر في الأمور ، وجدت ما يلي حول حزمة python-is-python3:

منتصف هذه الروابط الثلاثة هو الأكثر وصفًا ، ولكن لا يوجد أي منها واضحًا بشكل خاص حول ماهية / ما هي python-is-python3 والنطاق الكامل للتشعبات إذا كان sudo apt-get install python-is-python3 سيتم تشغيله على Ubuntu 20.04 التثبيت.

فيما يلي بعض الأسئلة التي لدي حول python-is-python3:

هل python-is-python3 مملوك لـ Ubuntu / Canonical؟ إذا كان الأمر كذلك ، فهل تستخدم توزيعات Linux الأخرى python-is-python3 أيضًا أم أن بعض التوزيعات الأخرى لها مكافئ مماثل؟

أعلم أنه إذا كنت سأقوم بتشغيل python-is-python3 من موجه الأوامر ، فيمكنني استخدام الأمر python بدلاً من python3. أولاً ، هل يمكن لشخص ما تأكيد ذلك ، وثانيًا ، هل ينطبق الأمر نفسه على النقطة ، أي النقطة بدلاً من النقطة 3؟

يشير ارتباط launchpad.net أعلاه إلى إنشاء ارتباط رمزي. هل تقوم لغة python-is-python3 بإنشاء ارتباط رمزي واحد فقط؟ يبدو من الغريب تقديم حزمة لمثل هذا الغرض من العظام المجردة. أيضًا ، إذا تم إلغاء تثبيت هذه الحزمة لاحقًا (أي sudo apt --purge remove python-is-python3) ، فهل يؤدي ذلك إلى إزالة الارتباط الرمزي؟

هل هناك أي حزم بايثون 2 شائعة الاستخدام بعد الآن؟ لا أستطيع التفكير في أي مرتجلا.

هل قام أي شخص بتشغيل python-is-python3 ثم ندم لاحقًا على القيام بذلك لسبب لم يتم إدراكه مسبقًا؟

يبدو أن فائدة تشغيل python-is-python3 لن تضطر إلى إضافة 3 في نهاية أوامر Python ، ولكن العيب هو أنه سيكون لديك بعد ذلك إعداد Ubuntu غير قياسي ، هل هذا ملخص عادل للبيثون -is-python3 فائدة / عيب؟


2 إجابات 2

قبل أن تتمكن من القيام بأي شيء باستخدام PowerShell ISE ، تحتاج إلى التأكد من (1) أنك تقوم بتشغيل PowerShell ISE كمسؤول و (2) تم تعيين سياسة التنفيذ بطريقة يمكنك من خلالها تنفيذ البرامج النصية.

افتح SharePoint Management Shell وقم بتشغيله

إذا حصلت على RemoteSigned أو Unrestricted أو Bypass ، فيمكنك المتابعة بأمان. يعني RemoteSigned أنه لا يمكنك تشغيل البرامج النصية التي تم تنزيلها من خادم آخر أو من الإنترنت ما لم يتم التوقيع عليها. إذا قمت بتنزيل ملفات لتشغيلها في PowerShell ISE ، فقم بتعيين سياسة التنفيذ على غير مقيد ، مثل هذا:

إذا كانت كل شيء يعمل كما هو متوقع ، فقم بتشغيل PowerShell ISE كمسؤول. ثم حاول تحميل SharePoint.PowerShell بما يلي:

عندما يتم تحميل ذلك ، جرب أمرًا آخر ، مثل

إذا لم تتلق أي رسائل خطأ ، فهذا يعني أنه تم تحميل SharePoint.PowerShell. إذا لم يكن كذلك ، قم بتشغيل

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


بادئ ذي بدء ، كما قال ddeimeke ، لا يتم توسيع الأسماء المستعارة افتراضيًا في الأصداف غير التفاعلية.

ثانيًا ، لا تتم قراءة bashrc بواسطة القذائف غير التفاعلية إلا إذا قمت بتعيين متغير البيئة BASH_ENV.

لكن الأهم من ذلك: لا تفعل ذلك! لو سمحت؟ في يوم من الأيام ستنقل هذا البرنامج النصي إلى مكان ما حيث لم يتم تعيين الأسماء المستعارة الضرورية وسيتعطل مرة أخرى.

بدلاً من ذلك ، عيِّن المتغيرات واستخدمها كاختصارات في البرنامج النصي الخاص بك:

إذا نظرت إلى صفحة bash manpage ، فستجد:

لا يتم توسيع الأسماء المستعارة عندما لا تكون الصدفة تفاعلية ، إلا إذا تم تعيين خيار expand_aliases باستخدام shopt (راجع وصف shopt ضمن أوامر SHELL BUILTIN أدناه).

تأكد من مصدر ملف الأسماء المستعارة بعد تعيين هذا في البرنامج النصي الخاص بك.

& # 47.bash_aliases يعمل بشكل مثالي بالنسبة لي. غالبًا ما يكون هناك شكل من أشكال الكشف التفاعلي عن الصدفة في .bashrc مثل هذا: # إذا لم يكن يعمل بشكل تفاعلي ، فلا تفعل أي شيء [-z & quot $ PS1 & quot] & amp & amp returnZaid ، ربما تريد التحقق من ذلك في الملف الذي حددته . & ndash Frank Schubert أبريل 4 '13 الساعة 1:46

& # 47.bash_aliases قد تعتمد على أشياء أخرى تم تحميلها مسبقًا على غلاف تفاعلي. أقرب شيء وجدته هو تغيير hashbang إلى #! & # 47bin & # 47bash -li لا يزال غير مثالي. من الناحية المثالية ، يجب عليك استخدام الدوال وليس الأسماء المستعارة. & ndash Stefanos Kalantzis 5 فبراير 2016 الساعة 11:47

لا يمكن تصدير الأسماء المستعارة ، لذا فهي غير متوفرة في نصوص shell التي لم يتم تعريفها فيها. بمعنى آخر ، إذا حددتها في

/.bashrc فهي ليست متاحة لـ your_script.sh (إلا إذا كنت مصدر

/.bashrc في البرنامج النصي ، وهو ما لا أوصي به ولكن هناك طرق للقيام بذلك بشكل صحيح).

ومع ذلك ، يمكن تصدير الوظائف وستكون متاحة لنصوص shell التي يتم تشغيلها من بيئة يتم تعريفها فيها. يمكن القيام بذلك عن طريق وضع هذا في bashrc الخاص بك:

كما يقول دليل Bash ، "لكل غرض تقريبًا ، تُفضل وظائف shell على الأسماء المستعارة."


استخدم المسار الصحيح حيث تم تثبيت Python بدلاً من ذلك ، على سبيل المثال:

إذا كان لديك دعم مسار شبيه بـ Unix على نظامك (لست على دراية بـ MSYS) ، فيمكنك دائمًا إدخال المسار إلى ملف Python القابل للتنفيذ ، أي إخراج أي Python.

قد تكون مهتمًا ببرنامج Python Launcher لنظام التشغيل Windows

تبين لي أن هناك عدم تطابق بين ملف activ.sh الخاص بـ Virtualenv و MSYSGIT. لم يكن من المفترض أن تعمل على Windows.

ماذا يحدث عند الركض (من الصدفة):

إذا بدأت جلسة بيثون تفاعلية ، فيمكن العثور على بيثون. (يمكنك أيضًا تشغيل: اكتب python). إذا لم يطبع "مثل هذا الملف أو الدليل" ، فلن يتم العثور على python في PATH. تحقق مما إذا كان يمكن تعديل ما يلي لإصلاح المشكلة (من المحتمل أن تتسبب المسافات في المسار / إلى / python في حدوث مشكلات):

تدعم أحدث إصدارات Windows 10 تثبيت أنظمة Linux الفرعية. إذا قمت بتشغيل من هناك يجب أن تكون المسارات صحيحة.

يجب أن يكون حلاً عمليًا إذا كنت موافقًا على تشغيله بهذه الطريقة.

جذر المشكلة هو أن المسافات في shebangs يتم تفسيرها على أنها توفر وسيطات إضافية لملف تنفيذي ، لذلك يُنظر إلى C: Program Files Python python.exe على أنها C: Program المعطى Files Python python.exe كوسيطة .

أفضل حل لهذا ، لأن Windows LOVES مسافات في دليل $ HOME وملفات البرامج وأماكن أخرى على الرغم من أنه يمكنه بالفعل كسر الأشياء في cmd.exe و Powershell وأدوات أخرى ، هو:

قم بتثبيت Python على C: Python وأضف المجلد C: Python حيث توجد python.exe ودليل Scripts الموجود بداخله إلى متغير بيئة PATH على مستوى النظام أو المستخدم.

إذا كنت بحاجة إلى Python 2.7.x و 3.x للتواجد معًا ، فثبتهما في C: Python27 و C: Python36 and C: Python37 وأعد تسمية python.exe إلى python2.exe ، python36.exe ، python37. exe ، وما إلى ذلك ، وأضف كل مجلد من هذه المجلدات ومجلدات البرامج النصية الخاصة بهم إلى المسار. قد ترغب في تحديد أي من إصدارات Python 3 تريد أن تكون "الافتراضي" وأيضًا عمل نسخة في هذا المجلد مثل python3.exe للتعامل مع أي نصوص تستخدم! # / usr / bin / env python3.

إذا كان الدليل الرئيسي للمستخدم الخاص بك يحتوي على مساحة فيه ، فقد تواجه أيضًا مشكلات إذا كنت تستخدم بناء جملة تثبيت pip --user somepackage. يتم تعيين --user افتراضيًا على الدليل الرئيسي الخاص بك ، وسوف تتعثر المساحة في هذه الحالة أيضًا. تم وصف الحل هنا ولكنه يتلخص في تصدير PYTHONUSERBASE إلى بيئتك.


8 إجابات 8

الفرق الرئيسي بين الاستخدام في المصطلحين "سيناريو" و "البرنامج النصي" هو وظيفة المستند.

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

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

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


هذا هو بالضبط كيف فعلت ذلك منذ سنوات عديدة ، هذا هو تحديث البرنامج النصي لـ Yosemite 10.11.5 - لكنني لم أختبره.

برنامج نصي يحفظ كل عنصر في Keychain إلى نص:

عنصر AppleScript ثاني ينقر فوق الزر & quotAllow & quot الذي يتم تشغيله عند قراءة العنصر خارج KeyChain.

[تحرير: يوليو 2016] تم تحديث هذا إلى 10.11.5 ملاحظة حيث أبلغ البعض عن قفل جهاز Mac الخاص بهم مع تأخير 0.2 ، لقد قمت بتقييد البرنامج النصي لمعالجة 200 نتيجة فقط في كل مرة ، وبالتالي إذا كان لديك 1050 عنصرًا من سلسلة المفاتيح ، ستحتاج إلى تشغيل هذا البرنامج النصي 6 مرات في ScriptEditor ، سيتعين عليك أيضًا السماح لـ ScriptEditor بتمكينه في قسم إمكانية الوصول في تفضيلات الأمان في:

ثم يحتوي تحديث الرابط / yosemite أعلاه أيضًا على خطوة تحويل روبي من الملف النصي إلى CSV ، حظًا سعيدًا!

يشير ShreevatsaR في التعليقات إلى أن تحويل روبي هذا يغطي فقط & quotinternet كلمات مرور & quot وليس & quot؛ كلمات مرور التطبيقات & quot. ويرجع ذلك إلى أن الهدف من البرنامج النصي هو تصدير & quotinternet كلمات مرور & quot في التطبيق 1Password.

وإليك سؤال تجاوز سعة المكدس وإجابته على نفس المنوال

System.keychain موجود هنا:

لتمكين AppleScript من التفاعل مع مربع الحوار ، تفضيلات النظام - & gt Security & amp Privacy Preferences - & gt Privacy Tab ، يجب أن يكون خيار إمكانية الوصول & quotScript Editor.app & quot ممكنًا


3 إجابات 3

يبدو أنني قد نجحت في العمل عن طريق وضع sudo modprobe bcm2835-v4l2 في قسم البداية من /etc/init.d/motion والتعليق على #export LD_PRELOAD = / usr / lib / uv4l / uv4lext / armv6l / libuv4lext.so

لقد جربت الإجابة المذكورة ولم تنجح معي تمامًا. لقد وجدت ذلك إلحاقًا

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

إذا كانت الكاميرا تعمل بشكل جيد سابقًا ولكن بعد ذلك توقفت فجأة عن العمل وأظهرت شاشة رمادية (على سبيل المثال متحركة) ، فقد يكون أحد الأسباب المحتملة هو أنك استخدمت raspi-config وتحت خيارات متقدمة > تقسيم الذاكرة قمت بتعيين قيمة أقل من 128 ميغا بايت.


2 إجابات 2

أستخدم الإصدار المصدر ولم أواجه أي مشاكل مطلقًا - إليك الإصدار القصير من التثبيت لتوزيع المصدر.

يهيئ initdb مثيل الخادم بعد التثبيت (قد يتولى التثبيت من rpm أو apt-get هذا الأمر نيابةً عنك).

يجب أن يبدأ الخادم نيابةً عنك - عادةً ما أستخدم الخيار pg_ctl. (عند تشغيل initdb ، يجب أن ترى الأوامر أعلاه كتلميح حول كيفية بدء الخادم - ولكن ، مرة أخرى ، قد لا تضطر إلى تشغيل initdb).


ولإزالة ملف دخول، ضع علامة ناقص "-" بعد = char مثل هذا:

ملاحظة: هذه ليست سوى أمثلة على المفاتيح. لن يعملوا في الواقع.

سوف أتجنب استخدام برنامج نصي آخر مثلك تستطيع قم بذلك في ملف .cmd باستخدام أوامر REG.

يمكنك فعل شيء مشابه لهذا:

إذا كنت ترغب في حذف إدخالات محددة فقط ، فيجب عليك إضافة وسيطة "EntryName" / v بعد المسار إلى المفتاح. إي ز:

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

أنا أستخدم الطريقة التالية. هذا جزء من برنامج MRU ripper لنظام التشغيل Windows XP ، والذي قد يساعد. هذا هو نص ملف دفعي يتم تشغيله من CMD أو من اختصار. يقوم بإنشاء ملف تسجيل باستخدام عمليات إعادة توجيه بسيطة ، ثم يقوم باستيراده.

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

تتم إعادة توجيه echos (& gt) إلى ملف ، باستخدام & gt لإعادة التوجيه الأولى ، و & gt & gt للإلحاق بالملف نفسه. تستخدم علامة - لإزالة إدخال التسجيل. قد يكون من الجيد ترك السطر الأخير وعرض الملف الذي تم إنشاؤه قبل الاستيراد. يمكن أن يتم الاستيراد بصمت ، لكنني لن أفعل ذلك بنفسي.

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

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


شاهد الفيديو: How to Create and Configure a Model in.NET Entity Framework Core Using Fluent API Code First (شهر اكتوبر 2021).