أكثر

خطأ في بناء الجملة أثناء تشغيل البرنامج النصي في PythonWin بعد النجاح في ArcPy

خطأ في بناء الجملة أثناء تشغيل البرنامج النصي في PythonWin بعد النجاح في ArcPy


أنا أقوم بإنشاء برنامج نصي لأتمتة خريطة انقطاع المياه (أنا جديد في بايثون). في نافذة ArcGIS Desktop 10.1 ، يعمل البرنامج النصي بشكل جيد. ومع ذلك ، في Pythonwin و IDLE ، أحصل على أخطاء في بناء الجملة (في Pythonwin يقرأ: فشل تشغيل نص - خطأ - بناء جملة غير صالح). الهدف هو استخدام برنامج جدولة المهام لتشغيل البرنامج النصي خارج ArcGIS.

import arcpy mxd = arcpy.mapping.MapDocument (r "X:  Mikes_Workspaces  Outage  Outage.mxd") df = arcpy.mapping.ListDataFrames (mxd، "Layers") [0] # وسيطات البرنامج النصي OutCurrent = arcpy.GetParameterAsText ( 0) إذا كان OutCurrent == '#' أو لا OutCurrent: OutCurrent = "X:  Geodatabases  WebData  Water_Service.gdb  OutCurrent" # توفير قيمة افتراضية إذا لم يتم تحديد # متغيرات محلية: Service_Group = "Service_Group" Update_ = "X:  Mikes_Workspaces  Outage  Outage_Board.xls  Update $" Group_Out = "Service_Group" # العملية: إضافة انضمام arcpy.AddJoin_management (Service_Group، "Group_"، Update_، "Group_Out"، "KEEP_COMMON") # العملية: نسخ الميزات arcpy.CopyFeatures_management (Group_Out، OutCurrent، ""، "0"، "0"، "0") # العملية: Symbology arcpy.ApplySymbologyFromLayer_management ("OutCurrent"، "X:  Mikes_Workspaces  Online Shapefiles  Outage_today .lyr ") # العملية: إزالة Join arcpy.RemoveJoin_management (Service_Group،" ") mxd.save () arcpy.RefreshActiveView ()

يبدو أن Service_Group و Group_Out هما مجرد متغيرات سلسلة وليست طبقة GIS فعلية. أنت لا تقوم بتعيين مساحة عمل بيئية ، لذلك ستفشل الطرق المختلفة في الإشارة إلى هذه المتغيرات. حاول تعيين مساحة العمل البيئية قبل تعيين متغيرات الطبقة.


Arcpy.GetParameterAsText هو للوصول إلى المعلمات في أدوات البرنامج النصي.

إذا كنت ستقوم بتشغيل هذا خارج ArcGIS ، فستحتاج إلى طريقة أخرى لتمرير المعلمات في سطر الأوامر ، مثل sys.argv.

ألق نظرة على هذه الصفحة للتعرف على بعض الأمثلة للاستخدامات: http://www.tutorialspoint.com/python/python_command_line_arguments.htm

إليك المزيد من المعلومات حول sys الوحدة النمطية: https://docs.python.org/2/library/sys.html


تحقق من الكود الخاص بك على http://pep8online.com/ ستجد سطر الأشياء 19 حيث يتم وضع مسافة بادئة لـ "# Process: Symbology" ولا يعجب Python بذلك.

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


يتم تعيين الخاصية beforeSend على function () بدلاً من textreplace (الوصف). تحتاج الخاصية beforeSend إلى دالة.

يمكن للمرء أيضًا استخدام ما يلي للقبض على الأخطاء:

كنت أواجه نفس المشكلة وقمت بإصلاحها ببساطة عن طريق إضافة سطر dataType = "text" إلى مكالمة أجاكس الخاصة بي. اجعل نوع البيانات يطابق الاستجابة التي تتوقع الحصول عليها من الخادم (رسالة الخطأ "تم الإدراج بنجاح" أو "حدث خطأ ما").

يمكنك تنفيذ منطق الخطأ كما يلي:

قد يكون هذا منشورًا قديمًا لكنني أدركت أنه لا يوجد شيء يمكن إرجاعه من ملف php وأن وظيفة النجاح الخاصة بك لا تحتوي على مدخلات كما يلي ، النجاح: function (e) <>. أتمنى أن يساعدك ذلك.

قد لا يحل هذا كل مشاكلك ، لكن المتغير الذي تستخدمه داخل وظيفتك (نص) ليس هو نفسه المعامل الذي تقوم بتمريره في (x).

يبدو أنه سيفيد بعض الشيء.

أنت ترسل نوع منشور مع البيانات المنفذة للحصول على. يجب أن يكون النموذج الخاص بك كما يلي:


أستخدم ما يلي لتمكين السجل على قشرة الثعبان.

هذا هو بلدي .pythonstartup ملف . تم تعيين متغير البيئة PYTHONSTARTUP على مسار الملف هذا.

سوف تحتاج إلى قراءة سطر الوحدات النمطية و rlcompleter لتمكين ذلك.

في IDLE ، انتقل إلى Options -> Configure IDLE -> Keys ، وهناك حدد history-next ثم history-previous لتغيير المفاتيح.

ثم انقر فوق Get New Keys for Selection وستكون جاهزًا لاختيار أي مجموعة مفاتيح تريدها.

Alt + p للأمر السابق من Histroy ، Alt + n للأمر التالي من السجل.

هذا هو التكوين الافتراضي ، ويمكنك تغيير اختصار المفاتيح هذا حسب تفضيلاتك من الخيارات -> تكوين IDLE.

أنت لم تحدد أي بيئة. بافتراض أنك تستخدم IDLE.

من وثائق IDLE: محفوظات الأوامر:

Ctrl + p هو البديل العادي للسهم لأعلى. تأكد من تمكين gnu readline في إصدار Python الخاص بك.

يعمل ALT + p بالنسبة لي على En Thinkt Python في Windows.

على Ubuntu Server 12.04 ، واجهت هذه المشكلة بعد تثبيت إصدار Python من المصدر (Python3.4).

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

بالنسبة لخادم Ubuntu 12.04 ، اضطررت إلى تثبيت libncurses-dev و libreadline-dev ثم تثبيت Python من المصدر لتمكين سلوك التحديث (readline). لقد فعلت هذا كثيرًا:

بعد ذلك ، قمت بحذف Python المثبتة مسبقًا (وليس THE SYSTEM PYTHON ، الذي قمت بتثبيته من المصدر!) وأعدت تثبيته من المصدر وعمل كل شيء كما هو متوقع.

لم أضطر إلى تثبيت أي شيء باستخدام نقطة أو تعديل .pythonstartup.

بشكل افتراضي ، استخدم ALT + p للأمر السابق ، يمكنك التغيير إلى Up-Arrow بدلاً من ذلك في IDLE GUi >> خيارات >> تكوين IDLE >> مفتاح >> ربط مفتاح مخصص ليس من الضروري تشغيل برنامج نصي مخصص ، إلى جانب وحدة readlines لا تعمل في Windows. نأمل أن تساعد. :)

ثم أعد تجميع الإصدار 3.4 من python.

في OpenSUSE ، أصلح هذا بواسطة

بالرجوع إلى هذه الإجابة: https: //stackoverflow.com/a/26356378/2817654. ربما يكون "pip3 install readline" حلاً عامًا. لم أجرب على CentOS الخاص بي.

أجد المعلومات التي قمت بنسخها أدناه للإجابة على السؤال

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

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


خطأ في بناء الجملة أثناء تشغيل البرنامج النصي في PythonWin بعد النجاح في ArcPy - أنظمة المعلومات الجغرافية

راجع هذه الموضوعات لفهم واستخدام أداة معلومات ما قبل الترقية (preupgrade.jar).

أداة معلومات ما قبل الترقية هي أداة مساعدة قديمة. توصي Oracle باستخدام الأداة المساعدة AutoUpgrade بدلاً من ذلك.


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

حول أداة معلومات ما قبل الترقية

لتحديد ما إذا كان نظامك جاهزًا للترقية ، يمكنك استخدام أداة معلومات ما قبل الترقية القديمة (preupgrade.jar)

للمساعدة في ضمان ترقية ناجحة ، توصي Oracle بشدة بتشغيل AutoUpgrade Utility في وضع المعالجة التحليلية ، واستخدام AutoUpgrade Utility Fixup ، ثم إكمال الترقية بالطريقة التي تفضلها. ومع ذلك ، يمكنك الاستمرار في أداء هذه المهام باستخدام أداة معلومات ما قبل الترقية قبل أن تبدأ في الترقية.

إذا كنت تستخدم أداة معلومات ما قبل الترقية القديمة ، فبعد اكتمال الترقية ، يمكنك استخدام البرامج النصية لما بعد الترقية التي تنشئها لمساعدتك في إصلاح أي مشكلات تكتشفها الأداة. للحصول على آخر التحديثات ، توصي Oracle بتنزيل أحدث إصدار من الأداة من My Oracle Support Note 884522.1.

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

تنشئ أداة معلومات ما قبل الترقية (preupgrade.jar) الملفات التالية:

ملف السجل preupgrade.log.

يحتوي ملف السجل على مخرجات أداة معلومات ما قبل الترقية.

preupgrade_fixups_ pdbname .sql لـ PDBs ، حيث pdbname هو اسم PDB).

قبل تشغيل الترقية ، يمكنك تشغيل البرنامج النصي لإصلاحات ما قبل الترقية يدويًا في SQL * Plus لحل العديد من المشكلات التي تم تحديدها بواسطة أداة ما قبل الترقية.

postupgrade_fixups_ pdbname .sql (لـ PDBs ، حيث يكون pdbname هو اسم PDB) أو البرنامج النصي postupgrade_fixups.sql (قواعد بيانات غير CDB).

يمكنك تشغيل هذا البرنامج النصي لإصلاح المشكلات بعد اكتمال ترقية قاعدة البيانات.

مواضيع ذات صلة

نصوص ما قبل الترقية التي تم إنشاؤها بواسطة أداة معلومات ما قبل الترقية

يمكنك تشغيل البرامج النصية التي تنشئها أداة معلومات ما قبل الترقية لإصلاح العديد من المشكلات قبل الترقية إلى إصدار Oracle Database الجديد.

يعتمد موقع preupgrade_fixups.sql وملفات السجل على كيفية تعيين مجلدات الإخراج ، أو تحديد متغير بيئة Oracle الأساسي.

إذا حددت دليل إخراج باستخدام الخيار dir مع أداة معلومات ما قبل الترقية ، فسيتم وضع سجلات الإخراج والملفات تحت هذا الدليل في مسار الملف / cfgtoollogs / dbunique_name / preupgrade ، حيث dbunique_name هو اسم مصدر Oracle قاعدة البيانات. إذا لم تحدد دليل إخراج عند تشغيل أداة معلومات ما قبل الترقية ، فسيتم توجيه الإخراج إلى أحد المواقع الافتراضية التالية:

إذا لم تحدد دليل إخراج باستخدام DIR ، ولكنك قمت بتعيين متغير بيئة Oracle الأساسي ، فسيتم إنشاء البرامج النصية وملفات السجل التي تم إنشاؤها في مسار الملف التالي:

Oracle-base / cfgtoollogs / dbunique_name / preupgrade

إذا لم تحدد دليل إخراج ، ولم تحدد متغير بيئة Oracle الأساسي ، فسيتم إنشاء البرامج النصية وملفات السجل التي تم إنشاؤها في مسار الملف التالي:

Oracle-home / cfgtoollogs / dbunique_name / preupgrade

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

ملف سجل (preupgrade.log).

يحتوي ملف السجل على مخرجات السجل الخاصة بأداة معلومات ما قبل الترقية.

إصلاحات SQL النصية قبل الترقية ، اعتمادًا على نوع قاعدة البيانات المصدر:

CDB: مجموعتان مختلفتان من البرامج النصية:

preupgrade_fixups.sql: نص موحد لجميع PDBs.

عدة نصوص برمجية preupgrade_fixups_ pdbname .sql ، حيث يكون pdbname هو اسم PDB الذي تم إنشاء نص برمجي له: البرامج النصية الفردية ، والتي تقوم بتشغيلها على وحدات PDB محددة.

قم بتشغيل البرامج النصية إما باستخدام catcon.pl ، أو باستخدام أوامر SQL * Plus. يجب تشغيل هذه البرامج النصية لإصلاح المشكلات قبل بدء ترقية قاعدة البيانات. تعمل البرامج النصية على حل العديد من المشكلات التي تم تحديدها بواسطة أداة ما قبل الترقية.

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

البرامج النصية لما بعد الترقية التي تم إنشاؤها بواسطة أداة معلومات ما قبل الترقية

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

تنشئ أداة معلومات ما قبل الترقية نصوصًا برمجية لإصلاح ما بعد الترقية ، والتي يمكنك تشغيلها بعد الترقية لإصلاح المشكلات التي يمكن إصلاحها بعد الترقية.

يعتمد موقع برامج SQL النصية وملفات السجل لما بعد الترقية على كيفية تعيين مجلدات الإخراج ، أو تحديد متغير بيئة Oracle الأساسي. يتم وضع البرامج النصية لإصلاح ما بعد الترقية في نفس مسار الدليل مثل البرامج النصية لإصلاح ما قبل الترقية.

إذا حددت دليل إخراج باستخدام الخيار dir مع أداة معلومات ما قبل الترقية ، فسيتم وضع سجلات الإخراج والملفات تحت هذا الدليل في مسار الملف / cfgtoollogs / dbunique_name / preupgrade ، حيث dbunique_name هو اسم مصدر Oracle قاعدة البيانات. إذا لم تحدد دليل إخراج عند تشغيل أداة معلومات ما قبل الترقية ، فسيتم توجيه الإخراج إلى أحد المواقع الافتراضية التالية:

إذا لم تحدد دليل إخراج باستخدام DIR ، ولكنك قمت بتعيين متغير بيئة Oracle الأساسي ، فسيتم إنشاء البرامج النصية وملفات السجل التي تم إنشاؤها في مسار الملف التالي:

Oracle-base / cfgtoollogs / dbunique_name / preupgrade

إذا لم تحدد دليل إخراج ، ولم تحدد متغير بيئة Oracle الأساسي ، فسيتم إنشاء البرامج النصية وملفات السجل التي تم إنشاؤها في مسار الملف التالي:

Oracle-home / cfgtoollogs / dbunique_name / preupgrade

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

CDB: مجموعتان مختلفتان من البرامج النصية:

postupgrade_fixups.sql: برنامج نصي موحد لجميع وحدات PDB

العديد من البرامج النصية postupgrade_fixups_ pdbname .sql ، حيث يكون pdbname هو اسم PDB الذي تم إنشاء نص برمجي له: البرامج النصية الفردية ، والتي تقوم بتشغيلها على وحدات PDB محددة.

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

إرشادات لتشغيل البرامج النصية لإصلاح Postupgrade لقواعد البيانات غير التابعة لـ CDB

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

بعد تشغيل البرامج النصية لما بعد الترقية ، يمكنك تشغيل أداة حالة ما بعد الترقية للتحقق من حالة الخادم الخاص بك.

مواضيع ذات صلة

إعداد متغيرات البيئة لأداة معلومات ما قبل الترقية

قبل تشغيل أداة معلومات ما قبل الترقية ، قم بإعداد متغيرات بيئة المستخدم لمستخدم أوراكل الذي يقوم بتشغيل الأداة.

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

في هذا المثال ، نظام التشغيل هو Linux أو Unix ، ومعرّف النظام هو sales01 ، والإصدار السابق مسار Oracle الرئيسي هو /u01/app/oracle/product/12.1.0/dbhome_1

  1. قم بتسجيل الدخول باعتبارك مالك تثبيت Oracle (أوراكل).
  2. قم بإعداد متغيرات بيئة المستخدم للإشارة إلى الإصدار السابق من Oracle home الذي تريد ترقيته.

أداة معلومات ما قبل الترقية (preupgrade.jar) أمر

استخدم أوامر أداة معلومات ما قبل الترقية (preupgrade.jar) للتحقق من النظام الخاص بك قبل الترقيات.

توجد أداة معلومات ما قبل الترقية في الإصدار الجديد من Oracle home ، في مسار الملف ORACLE_HOME / rdbms / admin / preupgrade.jar. قامت Oracle بتكوينه باستخدام فحوصات النظام اللازمة لإصدار Oracle Database الجديد. ومع ذلك ، فإن عمليات التحقق التي تقوم بها الأداة يتم إجراؤها في الصفحة الرئيسية للإصدار السابق من Oracle Database. قم بإعداد متغيرات بيئة مستخدم Oracle بحيث تشير إلى الإصدار السابق من Oracle home.

قم بتشغيل أداة معلومات ما قبل الترقية باستخدام إصدار Java في الإصدار السابق من Oracle home. بالنسبة إلى ترقيات البنية متعددة المؤسسات (CDB و PDB) ، افتح جميع وحدات PDB التي تريد أن تقوم الأداة بتحليلها قبل تشغيل الأداة.

قم بتعيين متغيرات البيئة لحساب المستخدم الخاص بك للإشارة إلى الإصدار السابق ORACLE_HOME و ORACLE_BASE و ORACLE_SID.

يوجد ملف preupgrade.jar في صفحة Oracle الرئيسية الجديدة:

يمكنك أيضًا نسخ الثنائيات preupgrade.jar إلى المسار الذي تختاره. فمثلا:

موقع إخراج البرنامج النصي. استخدم FILE لتوجيه إخراج البرنامج النصي إلى ملف. استخدم TERMINAL لتوجيه الإخراج إلى الجهاز. إذا لم تحدد قيمة ، فإن القيمة الافتراضية هي FILE. إذا قمت بتحديد TERMINAL ، فسيتم توجيه إخراج الشاشة إلى العرض ، ويتم وضع البرامج النصية والسجلات في مسار دليل الإخراج.

نوع الإخراج. استخدم XML لتحديد إخراج XML. إذا لم تحدد نوع الإخراج ، فسيكون الإعداد الافتراضي هو TEXT.

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

إذا لم تحدد دليل إخراج باستخدام DIR ، ولكنك تحدد متغير بيئة ORACLE_BASE ، فسيتم إنشاء البرامج النصية وملفات السجل التي تم إنشاؤها.

إذا لم تحدد دليل إخراج ، ولم يتم تعريف ORACLE_BASE ، فسيتم إنشاء البرامج النصية وملفات السجل التي تم إنشاؤها في المسار التالي:

ORACLE_HOME / cfgtoollogs / dbunique_name / ما قبل الترقية

-c 'pdb1 pdb2 pdb3' (Linux و UNIX)

تحدد قائمة الحاويات الموجودة داخل CDB التي تريد تضمينها للمعالجة (قائمة السماح). قم بتوفير قائمة محددة بمسافات من PDBs التي تريد معالجتها. لتحديد القائمة ، استخدم علامات الاقتباس الفردية على أنظمة التشغيل Linux و UNIX ، واستخدم علامات الاقتباس المزدوجة في أنظمة Windows.

إذا لم تحدد إما -c أو -C ، فستتم معالجة جميع PDBs في CDB.

-C 'pdb1 pdb2 pdb3' (Linux و UNIX)

تحدد قائمة الحاويات داخل CDB التي تريد استبعادها من المعالجة (قائمة الحظر). قم بتوفير قائمة مفصولة بمسافات من PDBs التي تريد استبعادها من المعالجة. لتحديد القائمة ، استخدم علامات الاقتباس الفردية على أنظمة التشغيل Linux و UNIX ، واستخدم علامات الاقتباس المزدوجة في أنظمة Windows.

إذا لم تحدد إما -c أو -C ، فستتم معالجة جميع PDBs في CDB.

يقوم بتحميل حزمة DBMS_PREUP في قاعدة البيانات عندما تكون في وضع READ WRITE ، دون تنفيذ أي إجراء آخر.

يمكنك استخدام هذه المعلمة لتحضير قاعدة بيانات غير CDB أو CDB معينة بحيث يتم تحميل حزمة DBMS_PREUP عند تشغيل أداة معلومات ما قبل الترقية ، وقاعدة البيانات (DB أو Container) في وضع القراءة فقط. إذا كنت تريد استخدام الأداة لتحليل قاعدة بيانات في وضع القراءة فقط ، فيجب عليك استخدام هذا الأمر لتحميل حزمة DBMS_PREUP في قاعدة البيانات أثناء وجودها في وضع READ WRITE ، قبل ضبطها على وضع READ-ONLY.

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

يوفر كلمة المرور للمستخدم.

إذا كنت لا تستخدم مصادقة نظام التشغيل للاتصال بقاعدة البيانات ، فاستخدم الخيار -p لتحديد كلمة مرور في سطر الأوامر. إذا تم تحديد اسم مستخدم في سطر الأوامر باستخدام -u ، ولكن لم يتم تحديد كلمة مرور مع -p ، فستطالبك الأداة بكلمة مرور.

يوفر اسم المستخدم الخاص بالمستخدم الذي تريد استخدامه للاتصال كـ SYSDBA بقاعدة البيانات التي تريد التحقق منها. استخدم هذا الخيار فقط إذا كنت لا تستخدم مصادقة نظام التشغيل للاتصال بقاعدة البيانات

على سبيل المثال ، يمكنك تسجيل الدخول كمستخدم ليس عضوًا في مجموعة OSDBA لقاعدة البيانات التي تريد التحقق منها. في هذه الحالة ، لا يمتلك حساب المستخدم امتيازات مصادقة نظام التشغيل لامتياز نظام SYSDBA. استخدم الخيار -u و -p لتوفير مصادقة قاموس البيانات لتسجيل الدخول كمستخدم لديه امتيازات نظام SYSDBA.

تحدد صفحة Oracle الرئيسية التي تريد التحقق منها. قم بتوفير مسار صفحة Oracle الرئيسية التي تريد التحقق منها.

إذا لم تحدد مسارًا رئيسيًا من Oracle للتحقق منه ، فستتحول أداة معلومات ما قبل الترقية إلى المسار المحدد بواسطة متغير بيئة المستخدم لصفحة Oracle الرئيسية. هذا المتغير هو $ ORACLE_HOME على أنظمة Linux و Unix ، و٪ ORACLE_HOME٪ على أنظمة Windows.

يحدد معرّف نظام أوراكل الذي تريد التحقق منه. قم بتوفير ORACLE_SID لقاعدة البيانات التي تريد التحقق منها.

يعرض نص تعليمات بناء جملة سطر الأوامر.

مثال A-1 Non-CDB في مثال صفحة Oracle الرئيسية

قم بتعيين متغيرات بيئة المستخدم الخاصة بك للإشارة إلى الإصدار السابق من Oracle home.

قم بتشغيل الإصدار الجديد من Oracle Database Pre-Upgrade Information Tool على خادم Oracle Database الذي تم إصداره سابقًا باستخدام إعدادات البيئة التي قمت بتعيينها على الإصدار السابق من Oracle home. فمثلا:

مثال A-2 CDB في صفحة Oracle الرئيسية المصدر

افتح جميع قواعد البيانات القابلة للتوصيل

قم بتعيين متغيرات بيئة المستخدم الخاصة بك للإشارة إلى الإصدار السابق من Oracle home.

قم بتشغيل أداة معلومات ما قبل الترقية باستخدام قائمة التضمين ، باستخدام الخيار -c. في هذا المثال ، قائمة التضمين هي PDB1 و PDB2 ، ويتم تشغيل الأمر على نظام Linux أو UNIX. يتم عرض إخراج الأمر على الجهاز ، ويتم عرض الإخراج كنص.

مخرجات أداة معلومات ما قبل الترقية

تُنشئ أداة معلومات ما قبل الترقية (preupgrade.jar) البرامج النصية للإصلاح وملفات السجل في دليل الإخراج الذي تحدده بخيار سطر أوامر DIR.

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

الملف preupgrade.log هو التقرير الذي تنشئه أداة معلومات ما قبل الترقية كلما قمت بتشغيل الأمر باستخدام خيار FILE. يحتوي ملف السجل على جميع توصيات الأداة ومتطلبات الترقية. يوجد ملف السجل في المسار التالي ، حيث يكون الطابع الزمني هو التاريخ والوقت عند تشغيل الأمر: $ ORACLE_BASE / cfgtoollogs / dbua / Upgrade timestamp / SID /. إذا قمت بتشغيل الأمر باستخدام خيار TERMINAL ، فسيتم إخراج محتوى هذا الملف على الشاشة. راجع قسم "مثال إخراج أداة معلومات ما قبل الترقية" للحصول على مثال لملف السجل.

إذا قمت بتحديد إخراج ملف XML في سطر أوامر أداة معلومات ما قبل الترقية ، فإنه يقوم بإنشاء ملف Upgrade.xml بدلاً من preupgrade.log.

ملف إصلاح الترقية المسبقة (preupgrade_fixups.sql) وملف إصلاح ما بعد الترقية (postupgrade_fixups.sql)

تحدد أداة معلومات ما قبل الترقية المشكلات التي يمكن أن تمنع الترقية أو تعيقها.

تتطلب بعض المشكلات حل DBA ، لأنه لا يمكن للبرنامج النصي الآلي فهم الأهداف المحددة لتطبيقك. ومع ذلك ، لا تمثل القضايا الأخرى أي صعوبة في حلها. في هذه الحالات ، تقوم أداة معلومات ما قبل الترقية تلقائيًا بإنشاء البرامج النصية التي تحتوي على عبارات SQL اللازمة لحل المشكلات. يمكن أن يؤدي استخدام هذه البرامج النصية وتتبع وتبسيط العمل الذي يجب أن يقوم به مسؤولو قواعد البيانات لحل مشكلات الترقية المحتملة. يتم وضع عبارات SQL التي تحل المشكلات قبل الترقية في البرنامج النصي preupgrade_fixups.sql. يتم وضع عبارات SQL التي تحل المشكلات بعد الترقية في البرنامج النصي postupgrade_fixups.sql. عند تشغيل أداة معلومات ما قبل الترقية على بنية Oracle Database متعددة المؤسسات ، يمكنك تشغيل البرامج النصية المدمجة preupgrade_fixups.sql النصي و postupgrade_fixups.sql عبر جميع الحاويات. قم بتشغيل البرامج النصية المدمجة باستخدام catcon.pl.

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

ينفذ البرنامج النصي الخطوات التالية لحل مشكلات ما قبل الترقية أو ما بعد الترقية:

لكل مشكلة تحددها أداة معلومات ما قبل الترقية ، فإنها تعيد تشغيل فحص أداة معلومات ما قبل الترقية الفردية مرة أخرى ، لتحديد ما إذا كانت المشكلة لا تزال قائمة.

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

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


مواضيع استكشاف الأخطاء وإصلاحها

تأكد من إعداد الشهادات بشكل صحيح

يتجاهل Docker Desktop الشهادات المدرجة ضمن السجلات غير الآمنة ، ولا يرسل شهادات العميل إليها. تؤدي الأوامر مثل عامل الإرساء التي تحاول السحب من السجل إلى ظهور رسائل خطأ في سطر الأوامر ، مثل هذا:

وكذلك في التسجيل. فمثلا:

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

أحجام

أخطاء الأذونات في أدلة البيانات لوحدات التخزين المشتركة

عند مشاركة الملفات من Windows ، يعيّن Docker Desktop أذونات وحدات التخزين المشتركة إلى القيمة الافتراضية 0777 (أذونات القراءة والكتابة والتنفيذ للمستخدم وللمجموعة).

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

يتطلب تحميل وحدة التخزين مجلدات مشتركة لحاويات Linux

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

باستخدام الواجهة الخلفية Hyper-V ، يتطلب تحميل الملفات من Windows مجلدات مشتركة لحاويات Linux. انقر وثم إعدادات & GT الملفات المشتركة وشارك المجلد الذي يحتوي على Dockerfile ووحدة التخزين.

دعم الروابط الرمزية

تعمل الارتباطات الرمزية داخل الحاويات وعبرها. لمعرفة المزيد ، راجع كيف تعمل الروابط الرمزية على Windows؟ في الأسئلة الشائعة.

تجنب أخطاء بناء الجملة غير المتوقعة ، استخدم نهايات أسطر نمط Unix للملفات الموجودة في الحاويات

يجب أن يستخدم أي ملف معد للتشغيل داخل حاوية نمط Unix n نهايات الأسطر. يتضمن ذلك الملفات المشار إليها في سطر الأوامر للبنيات وأوامر RUN في ملفات Docker.

تعمل حاويات Docker و Docker build في بيئة Unix ، لذلك يجب أن تستخدم الملفات الموجودة في الحاويات نهايات أسطر نمط Unix: n، ليس نمط Windows: r n. ضع ذلك في الاعتبار عند إنشاء ملفات مثل البرامج النصية لـ shell باستخدام أدوات Windows ، حيث من المحتمل أن يكون الإعداد الافتراضي هو نهايات أسطر نمط Windows. يتم تمرير هذه الأوامر في النهاية إلى أوامر Unix داخل حاوية تستند إلى Unix (على سبيل المثال ، تمرير برنامج نصي شل إلى / bin / sh). إذا تم استخدام نهايات أسطر نمط Windows ، يفشل تشغيل عامل الإرساء مع ظهور أخطاء في بناء الجملة.

للحصول على مثال لهذه المشكلة والحل ، راجع هذه المشكلة على GitHub: فشل Docker RUN في تنفيذ برنامج shell النصي.

الافتراضية

يجب أن يحتوي جهازك على الميزات التالية حتى يعمل Docker Desktop بشكل صحيح.

WSL 2 و Windows Home

  1. منصة الآلة الافتراضية
  2. تمكين الافتراضية في BIOS
  3. تم تمكين Hypervisor عند بدء تشغيل Windows

هايبر- V

في Windows 10 Pro أو Enterprise ، يمكنك أيضًا استخدام Hyper-V مع تمكين الميزات التالية:

    مثبت ويعمل
  1. تمكين الافتراضية في BIOS
  2. تم تمكين Hypervisor عند بدء تشغيل Windows

يتطلب Docker Desktop تثبيت وتمكين Hyper-V بالإضافة إلى Hyper-V Module لنظام Windows Powershell. يتيح لك مثبت Docker Desktop ذلك.

يحتاج Docker Desktop أيضًا إلى ميزتين من أجهزة وحدة المعالجة المركزية لاستخدام Hyper-V: المحاكاة الافتراضية وترجمة عنوان المستوى الثاني (SLAT) ، والتي تسمى أيضًا Rapid Virtualization Indexing (RVI). في بعض الأنظمة ، يجب تمكين الوضع الظاهري في BIOS. الخطوات المطلوبة خاصة بالمورد ، ولكن عادةً ما يسمى خيار BIOS بتقنية المحاكاة الافتراضية (VTx) أو شيء مشابه. قم بتشغيل معلومات نظام الأوامر للتحقق من جميع ميزات Hyper-V المطلوبة. راجع المتطلبات المسبقة لـ Hyper-V على نظام التشغيل Windows 10 للحصول على مزيد من التفاصيل.

لتثبيت Hyper-V يدويًا ، راجع تثبيت Hyper-V على Windows 10. إعادة التشغيل هي مطلوب بعد التثبيت. إذا قمت بتثبيت Hyper-V دون إعادة التشغيل ، فلن يعمل Docker Desktop بشكل صحيح.

من قائمة ابدأ ، اكتب تشغل أو إيقاف ميزات ويندوز واضغط دخول. في الشاشة التالية ، تحقق من تمكين Hyper-V.

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

بالإضافة إلى Hyper-V أو WSL 2 ، يجب تمكين الظاهرية. تحقق من علامة تبويب الأداء في إدارة المهام:

إذا قمت بإلغاء تثبيت Hyper-V أو WSL 2 يدويًا أو قمت بتعطيل المحاكاة الافتراضية ، فلن يتمكن Docker Desktop من بدء تشغيله. راجع تعذر تشغيل Docker لنظام التشغيل Windows على Windows 10 Enterprise.

تم تمكين Hypervisor عند بدء تشغيل Windows

إذا أكملت الخطوات الموضحة أعلاه وما زلت تواجه مشكلات بدء تشغيل Docker Desktop ، فقد يكون ذلك بسبب تثبيت Hypervisor ، ولكن لم يتم تشغيله أثناء بدء تشغيل Windows. تعمل بعض الأدوات (مثل الإصدارات القديمة من Virtual Box) ومثبتات ألعاب الفيديو على تعطيل برنامج Hypervisor عند التشغيل. لإعادة تمكينه:

  1. افتح موجه وحدة تحكم إدارية.
  2. قم بتشغيل bcdedit / set hypervisorlaunchtype auto.
  3. أعد تشغيل Windows.

يمكنك أيضًا الرجوع إلى مقالة Microsoft TechNet حول إعدادات Code flow guard (CFG).

حاويات Windows و Windows Server

Docker Desktop غير مدعوم على Windows Server. إذا كانت لديك أسئلة حول كيفية تشغيل حاويات Windows على Windows 10 ، فراجع التبديل بين حاويات Windows و Linux.

يمكنك تثبيت برنامج ثنائي أصلي لـ Windows يسمح لك بتطوير وتشغيل حاويات Windows بدون Docker Desktop. ومع ذلك ، إذا قمت بتثبيت Docker بهذه الطريقة ، فلا يمكنك تطوير أو تشغيل حاويات Linux. إذا حاولت تشغيل حاوية Linux على برنامج Docker daemon الأصلي ، فسيحدث خطأ:

تشغيل Docker Desktop في سيناريوهات المحاكاة الافتراضية المتداخلة

يمكن تشغيل Docker Desktop داخل Windows 10 VM يعمل على تطبيقات مثل Parallels أو VMware Fusion على جهاز Mac بشرط أن يتم تكوين الجهاز الظاهري بشكل صحيح. ومع ذلك ، قد تستمر المشكلات والفشل المتقطع بسبب الطريقة التي تقوم بها هذه التطبيقات بجعل الأجهزة افتراضية. لهذه الأسباب، Docker Desktop غير مدعوم في سيناريوهات المحاكاة الافتراضية المتداخلة. قد يعمل في بعض الحالات ، وليس في حالات أخرى.

للحصول على أفضل النتائج ، نوصيك بتشغيل Docker Desktop محليًا على نظام Windows (للعمل مع حاويات Windows أو Linux) ، أو على Mac للعمل مع حاويات Linux.

إذا كنت لا تزال تريد استخدام المحاكاة الافتراضية المتداخلة

تأكد من تمكين دعم المحاكاة الافتراضية المتداخلة في برنامج VMWare أو Parallels. تحقق من الإعدادات في Hardware & gt CPU & amp Memory & gt Advanced Options & gt تمكين الظاهرية المتداخلة (قد يختلف تسلسل القائمة الدقيق قليلاً).

قم بتكوين الجهاز الظاهري الخاص بك باستخدام وحدتي CPU على الأقل وذاكرة كافية لتشغيل أحمال العمل الخاصة بك.

تأكد من أن نظامك خامل إلى حد ما.

تأكد من تحديث نظام التشغيل Windows الخاص بك. كانت هناك العديد من المشكلات مع بعض الإصدارات الداخلية.

قد يكون المعالج الذي لديك ذا صلة أيضًا. For example, Westmere based Mac Pros have some additional hardware virtualization features over Nehalem based Mac Pros and so do newer generations of Intel processors.

Typical failures we see with nested virtualization

Slow boot time of the Linux VM. If you look in the logs and find some entries prefixed with Moby . On real hardware, it takes 5-10 seconds to boot the Linux VM roughly the time between the Connected log entry and the * Starting Docker . [ ok ] log entry. If you boot the Linux VM inside a Windows VM, this may take considerably longer. We have a timeout of 60s or so. If the VM hasn’t started by that time, we retry. If the retry fails we print an error. You can sometimes work around this by providing more resources to the Windows VM.

Sometimes the VM fails to boot when Linux tries to calibrate the time stamp counter (TSC). This process is quite timing sensitive and may fail when executed inside a VM which itself runs inside a VM. CPU utilization is also likely to be higher.

Ensure “PMU Virtualization” is turned off in Parallels on Macs. Check the settings in Hardware > CPU & Memory > Advanced Settings > PMU Virtualization.

Networking issues

IPv6 is not (yet) supported on Docker Desktop.


Powershell script executed by SQL Server doesn't take effect

I'm doing some testing and I want to execute a PowerShell script through xp_cmdshell. Below is the PowerShell script ( c: empsqltotext.ps1 ).

Then I execute the script through xp_cmdshell like this.

It runs successfully and I can find the file c: emphaha.txt with the content haha .

However, when I change the content of c: empsqltotext.ps1 to:

and execute the same aforementioned TSQL command, the TSQL reports success but I didn't get the expected result (the execution policy in all scopes were NOT changed).

When I execute the PowerShell script manually (in a PowerShell console and type c: emp>.sqltotext.ps1 ), it works as expected (the execution policy in all scopes were changed). Why this happens?

I did some investigation though. EXEC xp_cmdshell 'whoami.exe' reports I'm running with nt servicemssqlserver . I also manually added nt servicemssqlserver into the administrators local user group. By using process explorer, I can confirm the PowerShell session indeed was started and all related processes have admin permission (Integrity = High).

The cmd.exe command line looks like this:

When I execute this command manually, it can change the execution policy without any issue (I changed all execution policy back to the original values after this).

The PowerShell process command line looks like this:

When I execute the PowerShell process command line manually, I can change the execution policies too. I don't have any idea why when I run the command through xp_cmdshell , it doesn't change anything.

BTW, I know there are multiple ways to write the command. I'm just talking about the technical skills here, so please don't suggest me changing command syntax etc.


مدونة ميليسا ثراش UWF GIS على الإنترنت

Module 7 was definitely a challenge. We covered a lot of material in two chapters (6 and 7) of our text. We learned how to check for, describe, and list data. Next, we worked with lists, tuples, and dictionaries. Lists are used to facilitate batch processing and exist for different types of elements. "For" loops can be used to iterate over the elements in a list. Elements in a list can be modified through operations such as deleting, appending, and removing. Tuples are similar to lists but their elements are immutable. If you use an operation that would modify the elements in a tuple it returns another tuple. Elements in lists and tuples can be identified by their index number or location in the list or tuple. Dictionaries contain item pairs. The pair matches a key to its corresponding value. Dictionaries can be modified however "keys" have to be unique but "values" do not. For example a dictionary containing city and state pairs might have a "key" of the city "Greenville". The corresponding state "values" for the city of Greenville could be different, such as Alabama, North Carolina, South Carolina.

Chapter 7 introduced us to using cursors to access data. Cursors work similarly to list functions and can be used to iterate over rows in a table. There are three types of cursors. Search cursors are used to retrieve rows. Insert cursors are used to insert rows. Update cursors are used to update and remove rows. All cursor types have two required arguments: and input table and a list of field names. A SQL query can be used to establish criteria for the optional "where_clause" parameter of the cursor object.

This assignment tasked us to use Python code to create an empty geodatabase (gdb) and then copy the shapefiles from our Module7/Data folder into the new gdb. Using the "cities" feature class that was now in the gdb we needed to populate a newly created dictionary with the names and population of every "County Seat" city in the state of New Mexico. To perform these tasks it was important to understand the examples provided in our text and module exercise. Syntax was very important in creating the python code needed for the search cursor that would find the cities that were defined as "County Seats". The syntax format differs depending on the feature class type. Each beginning single quote, double quote, parenthesis, or bracket needs to have a corresponding ending. Placing "print" statements within the script helped identify the location of errors when the script failed to execute entirely.

Learning how to update a dictionary was also new. This step was the most difficult for me to understand. I had to think about where the search cursor was in the table and think about what were the "key" and "value" pairs. Using the examples in the text for printing rows in the table, helped me understand where the cursor was in the table and how to update the dictionary.


How To: Use Alteryx.installPackages() in Python tool

Installing a package from the Python tool is an important task. In this article, we will review all the possible functionality included with the Python method Alteryx.installPackages().

المتطلبات الأساسية

معلومات اساسية

First of all, don't get confused: you can use either Alteryx.installPackage() , Alteryx.installPackages() , or Package.installPackages() to achieve same result.

By default, packages are installed under:

%ALTERYX%inMiniconda3PythonTool_venvLibsite-packages until 2019.2

%ALTERYX%inMiniconda3envsJupyterTool_vEnvLibsite-packages for 2019.3+

As a result, you may need to start Designer with administrator rights if the installation folder does not allow write access to a standard account, like for an admin version for example.

Typically, people use installPackage() with a single argument (the package name(s)). But, looking at the method itself, there are in fact 3 parameters:

Optional: default value: False

Add some details to the output

In reality, Alteryx.installPackages() is nothing more than a wrapper for the pip (Python Package Manager) command.

This means the following command:

This can be seen using debug parameter:

Output (duplicates due to debug mode):

Procedure: Standard Installation

In this case, only the package argument is specified.

Procedure: Installation from GitHub

Git must be installed on the machin e to use this method. It could be downloaded from https://git-scm.com/downloads.

Instead of the package name, specify git URL prefixed with git+ .

Procedure: Installation of a Module in the User Folder

This method uses parameter --user to specify that package must be installed in user folder ( %APPDATA%/Python/Python36 as perhttps://www.python.org/dev/peps/pep-0370/#windows-notes) .

Now, in order to use it, package location must be added to default path: %APPDATA%PythonPython36site-packages

Procedure: Installation of a Module in a Different Folder

This method uses parameter --target to specify the destination and creates it if needed.

Now, in order to use it, the package needs to be imported using Alteryx.importPythonModule(%MODULE_PATH%) [2018.4+]

Remark : With this method, a module does not appear as installed in PythonTool environment

Procedure: Installation from local directory or tar.gz

The package must exist in a place accessible by the machine (such as C:UsersDocumentsPersonalPythonPckg).

Procedure: Installation with a proxy in place

This allows the option of adding a proxy and proxy credentials to the installation argument. Credentials can be left off or included depending on the environment.

Procedure: Installation from Wheels

In this case, we use --no-index and --find-links with the local repository to ensure that package is not going to be downloaded.

Here, C:ProgramDataPythonWheels contains following files (numpy and Pillow are dependencies of wordcloud):

Procedure: Uninstall Package(s)

Specify uninstall as the install_type parameter and either a string with the package name or a list of strings with package names.

Procedure: Download Wheels or Archive Files

In this case, the command to use is download instead of the default install . One may also specify a destination folder with parameter --dest

Procedure: List the Currently Installed Modules

The following procedure provides a basic way to list the module names and versions installed along with Python tool.

مصادر إضافية

This article is awesome! Thanks for all the help @PaulN

to a network drive that has spaces in some of the folder names.

Alteryx.installPackages(package="hyperapi",
install_type='install --no-index --find-links="xyx.org.comdwSpace HereAlteryxSystemsFor System UseHyper API"')

I tried multiple ways with quotes. Is using network drive even possible? I wish whoever made this didn't put spaces in file path names.

Thanks for the article. The machine I use doesn't have admin rights to intall any s/w.

In that case am not able to run my codes that were running in IDE to adapt to alteyx due to package unavailability.

Its practically not possible for us to freely develop codes using the Alteryx python module when we have user restrictions on installing the packages. Having admin rights is the only way to install the packages to miniconda in Alteryx?

Can anything be done on this?

If this is not doable, I would suggest to have all the basic packages for data analysis pre installed in the Alteryx bundle without which this feature is not gonna be of great value add to the tool.

After going through the same things, yes you absolutely need t o have an admin install this for you. I tried every work around I could think of, and at the end of the day had to wait for the admin to get back from vacation so I could get some tools installed.

We seem to be hitting some kind of SSL error when trying to import packages:

Does anyone have any insight or support with this?

Could you please try the following:

    Create File pip.ini (case is important) under %APPDATA%pip (example C:Usersmy_accountAppDataRoamingpip where my_account is the Windows login).
    pip folder will have to be created if it does not already exist.

3. Install package again via Python tool

Sr Customer Support Engineer, Alteryx

When running a workflow on alteryx server I can't install dependencies using Alteryx.InstallPackages(). It always causes a CalledProcessError with the error message just being that the command returned non-zero exit status 1. Even with debug=True set I don't get more information or even the stack trace like I would when running locally within the notebook. Are there any known issues when attempting to install python dependencies on the server? or is there configuration that may be interfering?

For reference the alteryx server is a corporate one and I do not have administrative access to it.

Your last comment is exactly why. You have to have admin privileges. The only way at this point to get it installed is to email your admin and make that request.

هذا مفيد جدا. Also, Is there a way to inventory all python libraries installed including ones that did not come with Alteryx?

Thanks for the comment! So if you are trying to list the libraries available to the Python tool, last section of the article will do the trick.It will list the different packages "visible" in the Python environment used for the tool.

We have proxy internal URL to download/ install packages as follows.

pip install PyPDF4 -i (Internal URL)

from cmd. How to achieve the same using alteryx.

Please assist. Where to point source URL in the following

As mentioned in the article, Alteryx.installPackage() is a wrapper to pip (pip install by default).

ممتاز! حصلت عليه. It is working in my designer.

The solution is working fine in our Designer.

we need to publish in our Alteryx Private Gallery Server.

By Default, those non-standard packages will not be available.

1) How to install those similar libraries in our Gallery server. Do we need to login into server or we can install from local Designer. Please suggest, if you have steps to move forward. شكرا.

Hence, we can publish the workflow and our user can trigger from Gallery.

@ganeshkumars82 Yes, you need to login to the server and install them. I was screen sharing with our admin when he installed some stuff I needed, and he opened up the alteryx on the server and installed it from there using the same way that we installed it on our local alteryx machine.

I am facing the same issue as @joejoe317 :

How to pass a path of a network drive that has spaces in some of the folder names?

Alteryx.installPackages(package="openpyxli",
install_type='install --no-index --find-links #FF0000">folder name with space subfolder"')

Also how to pass relative path in install_type when the workflow is saved at same location.

@NanChaw It's been a while now. I think I resolved it by using a different command. I also could have resolved it by moving my path, I really do not remember. I will see if I still have any of the testing workflows I created to see which path I chose.

EDIT: Quick answer is no spaces allowed.

Longer answer of different methods to get it to work.

I ended testing two things. I do not have access to our server, so I had to work with the server admin on this.

The first I already mentioned. I just moved it to a network drive that didn't have any spaces. On our alteryx server we have a public area that we can put files. The security is based on groups, so I can only see what I put in there. This did not have any spaces, and obviously that worked.

The second was working with our server admin.

I had him do the following.

These are the steps that it took to install the Python API for hyper data file manipulations.

RDP into the alteryx server

open ADMIN Command line window

c:> cd "%PROGRAMFILES%AlteryxinMiniconda3PythonTool_venvScripts"

c:> pip install "server-pathDropBoxwhl ableauhyperapi-0.0.8953-py3-none-win_amd64.whl"

You can see that this path also does not have spaces, but we are installing using pip, so you can have spaces here. The problem I believe with alteryx is they use their own functional wrapper. It seems like that are using the space as a split into an array of items. You can kind of see this in the error you get.

I have tried it with an encoded path and other methods, but have not been successful.

The second method bypasses alteryx all together in order to install the python package. Once it is installed, you can use it in alteryx. Obviously if you go this route, make sure the paths are correct, they may be different than ours.


Brando's GIS Odyessy

Good Day GIS enthusiasts,
Welcome to my continuation of Homeland Security GIS topics. We are continuing our look from last week at Minimum Essential Data Sets (MEDS). But this week we are looking at practical application. This week revolves around taking the data sets and layers generated last week and applying them with some additional data, particularly some LiDAR derived rasters, and looking at a real world situation. The situation in question is the Boston Marathon bombing of 2013. Here we are taking the MEDS Boston data, and looking more so to prevention through establishment of surveillance, security, and observation points within view of the finish line and surrounding area. With these points I am utilizing specific analysis tools available through ArcMAP and ArcScene. The overall objectives for this week were to explore the LiDAR data using it to generate Hillshading, perform a Viewshed analysis, and create a Line Of Sight analysis utilizing our created observation points. Two maps were generated using predominately ArcMAP, and a little ArcScene on the second.
Lets look at the first map.

This is an overview map of the event area. This shows a 3 mile buffer area around the marathon finish line. Identified around the finish line area are the 10 closest hospitals and medical centers. All of these have been identified as needing increased security during the event. A 500 ft buffer has been placed around each of these critical infrastructure facilities. This is a fairly simplistic view of the area showing the various levels of road features throughout. The primary, secondary, and local roads are all symbolized appropriately for easy acquisition and understanding. The lower inset which is an up close look at the finish line highlights additional security locations by placing checkpoints at each road intersecting with the 500 foot buffer from the finish line. Additionally, another inset highlights the 6 counties that are a part of the Boston Metropolitan Statistical Area.

There is much more deliberate analysis in this map. The first section at the top is a straightforward look at 15 identified observation points around the block within view of the finish line, highlighted in the center. These are also labeled with the elevation of the best observation height for the point. The second frame down combines a multitude of analysis. Most clearly visible is the Viewshed analysis. This is the pink and green layer symbolized by pink meaning an area is not visible from the closest associated observation point, and green meaning the view is unobstructed. This layer is generated by a Hillshade layer which provides the gray shadowing underlying the Viewshed. Over top of this layer is a line of sight look from each point to the finish line. The red areas indicate some form of obstruction and the green areas are clear. This view is further broken down by the most obstructed point (# 4), and shown in the graph just under and to the right of the line of sight look. Additionally all of the line of sights are evaluated in the 3D environment of ArcScene. The lower left inset shows an exported feature from ArcScene depicting the lines of sight in a 3D relationship with the surroundings. This layer is also oriented with the same SW - NE look as the other data frames above for continuity of reference. Also an inset for this area is provided much closer in than the base map above.
I dont know the exact process that was in place on that fateful day. However with this type of planning and technical ability we can hope that we can better plan and prevent such acts in the future. This is an excellent look at some of the analysis that goes into such large events drawing tens to hundreds of thousands of people. شكرا لك.


Additional Docker container resource options. For a list of options, see " docker create options."

You can use special characters in path, branch, and tag filters.

  • * : Matches zero or more characters, but does not match the / character. For example, Octo* matches Octocat .
  • ** : Matches zero or more of any character.
  • ؟ : Matches zero or one single character. For example, Octoc?t matches Octocat .
  • + : Matches one or more of the preceding character.
  • [] Matches one character listed in the brackets or included in ranges. Ranges can only include a-z , A-Z , and 0-9 . For example, the range [0-9a-z] matches any digit or lowercase letter. For example, [CB]at matches Cat or Bat and [1-2]00 matches 100 and 200 .
  • ! : At the start of a pattern makes it negate previous positive patterns. It has no special meaning if not the first character.

The characters * , [ , and ! are special characters in YAML. If you start a pattern with * , [ , or ! , you must enclose the pattern in quotes.

Patterns to match branches and tags

معامل تعليق
package A string or list of strings of package name(s)
install_typeOptional: default value: "install". Pip command to use.
debug
PatternوصفExample matches
feature/* The * wildcard matches any character, but does not match slash ( / ). feature/my-branch

Patterns to match file paths

Path patterns must match the whole path, and start from the repository's root.


شاهد الفيديو: GIS Tools: ArcMapArcGIS Tool for connecting points