หลีกเลี่ยงข้อผิดพลาดในการนำเข้า arcpy (RuntimeError: NotInitialized) เมื่อใช้ IDLE?


11

เวอร์ชั่น ArcGIS: ArcGIS 10, Python 2.6.5 เครื่อง: Windows 7 64 บิต (Intel)

ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อนำเข้า arcpy โดยใช้ IDLE (พรอมต์ gui และ cmd) และเมื่อใช้ pythonwin

ฉันลบ python26 และ python25 ออกจากระบบของฉันและทำการติดตั้งใหม่ของ ArcGIS 10 และ python ดังนั้นกำลังเรียก IDLE จากที่นี่: "C: \ Python26 \ ArcGIS10.0 \ pythonw.exe"

ความผิดพลาด:

** IDLE 2.6.5

อิมพอร์ต arcpy Traceback (การโทรล่าสุดครั้งล่าสุด): ไฟล์ "", บรรทัด 1, ในการนำเข้าไฟล์ arcpy "C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy__ arcit__init __. py", บรรทัดที่ 17, จากกระบวนการทางภูมิศาสตร์ นำเข้าไฟล์ gp "ไฟล์ C: \ Program (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing__init __. py", บรรทัดที่ 14, จาก _base นำเข้า * ไฟล์ "C: \ Program Files (x86) \ ArcGIS \ Desktop10 .0 \ arcpy \ arcpy \ geoprocessing_base.py ", บรรทัด 568, ใน env = GPEn สภาพแวดล้อม (gp) ไฟล์" C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ arcpy \ arcpy \ arcpy \ arcpy \ arcpy \ gepycessing_base.py ", บรรทัด 565 ใน GPEnvironment จะส่งคืนไฟล์ GPEnvironment (geoprocessor) "C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ arcpy \ gepycessing_base.py" บรรทัด 521ใน init self._refresh () ไฟล์ "ไฟล์ C: \ Program (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy \ geoprocessing_base.py" บรรทัด 523 ใน _refresh envset = (ตั้งค่า (env สำหรับ env ใน self._gp.listEnvironment) ())) RuntimeError: ไม่ได้กำหนดค่าเริ่มต้น **

ฝ่ายสนับสนุนด้านเทคนิคของ EsriUK และ Esri ได้แนะนำการติดตั้งใหม่และการแก้ไขรีจิสทรี = แต่วิธีนี้ไม่ได้ผล ฉันรอพวกเขาเพื่อหาทางออก

ฉันได้ตรวจสอบว่ามันเป็นปัญหาเกี่ยวกับเส้นทางของโมดูล arcpy หรือไม่ มีคู่ของการเชื่อมโยงบนเป็นฟอรั่มที่ ESRIและบนArcGIS ความช่วยเหลือเกี่ยวกับเส้นทาง นอกจากนี้ยังมีหัวข้อที่เกี่ยวข้องเป็นไปได้ในgis.stackexchange

ฉันทำตามคำแนะนำจาก 'kimo' บนฟอรัมของ Esri แต่ยังคงมีข้อผิดพลาดในการนำเข้า

  1. ตัวแปรระบบของฉัน (ที่ฉันแก้ไข) คือ: PYTHONPATH = "c: \ python26"; "C: \ Python26 \ ArcGIS10.0"; "C: \ Python26 \ ArcGIS10.0 \ Lib \ site-packages"; " C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy "

  2. ฉันตรวจสอบแล้วฉันมีเนื้อหาของ "C: \ Python26 \ ArcGIS10.0 \ Lib \ site-packages \ Desktop10.pth" เนื้อหาคือ: C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ bin C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ ArcToolbox \ Scripts

อย่างไรก็ตามข้อความการสืบค้นกลับแสดงว่าพบสคริปต์. py ในโฟลเดอร์: C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcpy ดังนั้นแนะนำให้โมดูล arcpy พบล่าม แต่ก็ไม่ได้เริ่มต้น (?)

Arcpy สามารถเรียกได้จาก Python Window ภายใน ArcMap และ ArcCatalog มันก็ต่อเมื่อถูกเรียกจากล่าม Python ว่า 'import arcpy' ล้มเหลว ดังนั้น arcpy จะไม่ถูก initalized โดย ArcMap / ArcCatalog แต่ไม่ใช่ IDLE - สิ่งนี้จะเป็นอย่างไร?

ก่อนหน้านี้ฉันมีการติดตั้ง python25 จากนั้น python26 หลังจากนั้นอัพเกรดเป็น ArcGIS 10 ดังนั้นจึงมีงูหลามแบบดั้งเดิมบนเครื่องของฉันค่อนข้างมาก อย่างไรก็ตามฉันได้ถอนการติดตั้งทั้งหมดและทำความสะอาดรีจิสทรีโดยใช้ ccleaner

ทุกคนสามารถแนะนำบรรทัดการสอบถามอื่นได้หรือไม่เนื่องจากฉันไม่ได้ใช้ Python มากพอที่จะแก้ไขข้อผิดพลาดในการเริ่มต้น / ใช้งานจริงได้? ฉันต้องการหลีกเลี่ยงการติดตั้งระบบปฏิบัติการอีกด้วย!


ยังโพสต์ใน ... forums.arcgis.com/threads/…

1
ลิงค์นี้ช่วยฉันออก ฉันเพิ่ม arcserver นำเข้าก่อนนำเข้าบรรทัด arcpy myarcgisserver.wordpress.com/2014/04/04/…
G ...... T ......

คำตอบ:


5

ดูที่โพสต์ของคุณที่นี่และในฟอรัม ESRI ฉันคิดว่าคุณมีการตั้งค่าสภาพแวดล้อมที่ยุ่งเหยิง

คุณต้องการใส่ C: \ Python26 \ ArcGIS10.0 ในตัวแปร PATH ในระบบของคุณซึ่งจะพาคุณไปยังไฟล์เรียกทำงานที่ถูกต้องจาก IDLE, PythonWin หรือบรรทัดคำสั่ง

PYTHONPATH ของคุณอาจว่างเปล่า หรือคุณอาจรวม 3 ขั้นตอนของไฟล์ Desktop10.pth ของคุณ: C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ bin C: \ Program Files; (x86) \ ArcGIS \ Desktop10.0 \ arcpy; C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ ArcToolbox \ Scripts - พา ธ เหล่านั้นจะมีความสำคัญมากกว่าการค้นหาเริ่มต้นสำหรับโมดูล (ด้านล่าง python.exe หรือ pythonw.exe ที่ถูกเรียก)

สุดท้ายเนื่องจากคุณถอนการติดตั้งและติดตั้ง Python หลายเวอร์ชัน ณ จุดนี้ไม่ควรมีอะไรภายใต้โฟลเดอร์ C: \ Python26 ยกเว้นโฟลเดอร์ ArcGIS10.0 ของ ESRI ที่ให้ Python 2.6.5 32- บิตการติดตั้ง หากมีไฟล์ Lib อยู่จะมีการติดตั้งก่อนหน้านี้เหลือและจะรบกวน มันจะเป็นปัญหาใหญ่กว่าถ้าการติดตั้ง Python26 ใด ๆ ของคุณก่อนหน้านี้เป็น 64 บิต

นอกจากนี้เนื่องจากคุณใช้ Windows 64 บิต 64 เส้นทาง Registry ไปยังคีย์ Python 32- บิตคือ HKLM \ SOFTWARE \ Wow6432Node \ Python หากคุณมี HKLM \ SOFTWARE \ Python พวกเขาจะเป็น Keys สำหรับ 64- บิต ติดตั้ง พวกเขาจะรบกวนการติดตั้งแบบ 32 บิต


สวัสดีสจวร์ต ขอบคุณสำหรับข้อมูล. ฉันตอบไปที่ฟอรั่ม. archgis.com , ไชโยแซม
SamFranklin

ความจริงที่ว่าgeoprocessing_base.pyจะถูกพบ (ดูร่องรอยสแต็ค) แสดงให้เห็นว่ามีปัญหาใด ๆ PYTHONPATHกับการหาโมดูลที่ช่วยขจัดข้อเสนอแนะของคุณในการปรับเปลี่ยน มีเพียงอาจจะเป็นความขัดแย้งระหว่าง 64 และ 32 หลามถ้าทั้งสองอยู่บน PATHแต่ถ้ารุ่น 64 PATHบิตได้ถูกลบออกพวกเขาไม่อาจจะอยู่ใน (แม้ว่าสถานที่จะยังคงอยู่ในอย่างใดPATHก็ไม่มีอะไรที่จะหาได้อีกต่อไป.)
jpmc26

5

ฉันพบปัญหานี้เมื่อตั้งค่าการเขียนสคริปต์ในสภาพแวดล้อมใหม่ .... ฉันลืมที่จะตั้งค่าเซิร์ฟเวอร์ตัวจัดการสิทธิ์การใช้งานโดยใช้ผู้ดูแล ArcGIS


2

ทำเช่นนี้

  1. เปิดโปรแกรมจัดการ arcgis
  2. ตั้งผู้จัดการใบอนุญาต

ตรวจสอบจำนวนใบอนุญาตแต่ละระดับที่มีอยู่ หากคุณต้องการ arcpy เพื่อตรวจสอบระดับสิทธิ์การใช้งานเฉพาะคุณจะต้องรหัสเช่นนี้

import arcview
import arcpy

สวัสดี - ลองนำเข้า arcview ได้รับข้อผิดพลาดดังต่อไปนี้ อย่างไรก็ตามฉันสามารถใช้ arcpy ได้ไหม? >>> นำเข้า arcview Traceback (การโทรล่าสุด): ไฟล์ "<pyshell # 3>", บรรทัดที่ 1 ใน <module> นำเข้าไฟล์ arcview "C: \ Program Files (x86) \ ArcGIS \ Desktop10.0 \ arcpy \ arcview.py ", บรรทัดที่ 18, ใน <module> gp.setProduct (" ArcView ") RuntimeError: ข้อผิดพลาด 999999: ข้อผิดพลาดในการใช้งานฟังก์ชัน >>> นำเข้า arcpy >>> ฉันได้ให้คำตอบอย่างเต็มที่เมื่อ: bit.ly/ggtlioที่ฉันสามารถแนบภาพหน้าจอและให้คำตอบแบบเต็ม
SamFranklin

2

นี่คือสิ่งที่ฉันทำตัวแปร Path และ PYTHONPATH Environment

แค่นี้ก็พอแล้วสำหรับฉัน

ฉันใช้ PyScripter แล้ว แต่ฉันดาวน์โหลดรุ่น 2.7 มาจำเป็นต้องใช้ PyScripter สำหรับ python 2.6 เพื่อรับข้อผิดพลาดไม่ได้กับ import arcpy


1

ในกรณีของฉันฉันไม่ได้เชื่อมต่อกับเครือข่ายโดยตรงหรือผ่าน VPN เพื่อตรวจสอบสิทธิ์ใช้งาน ArcGIS เมื่อฉันเชื่อมต่อกับเครือข่ายข้อผิดพลาด "RuntimeError: NotInitialized" ได้รับการแก้ไขและสคริปต์ของฉันทำงานได้สำเร็จ

แม้ว่าคุณจะต้อง ... 1) ตัวจัดการแอปพลิเคชันเปิด arcgis 2) ตั้งค่าตัวจัดการสิทธิ์การใช้งาน ... ตามที่กล่าวไว้โดย gotchula

หวังว่านี่จะช่วยได้!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.