ฉันสร้างโมดูลขนาดเล็ก (และค่อนข้างเป็นที่นิยม) ซึ่งจะดับและตามล่าหา ArcGIS บนพีซีของคุณ เมื่อพบว่ามันเพิ่มเส้นทางที่ถูกต้องไปยังสภาพแวดล้อมเพื่อให้คุณสามารถนำเข้า arcpy การใช้งานจะเป็นดังนี้:
try:
import archook #The module which locates arcgis
archook.get_arcpy()
import arcpy
except ImportError:
# do whatever you do if arcpy isnt there.
โมดูลโฮสต์บน github ที่นี่:
https://github.com/JamesRamm/archook
มันง่ายมากและฉันแน่ใจว่าสามารถสร้างความแข็งแกร่งได้มากขึ้น แต่ทำงานได้ดี มันมีอยู่ใน pypi:pip install archook
มันมีข้อดีมากกว่าวิธีดั้งเดิม 'ด้วยตนเอง' เพิ่มเติม (รายละเอียดด้านล่าง):
- คุณไม่จำเป็นต้องกำหนดค่าแต่ละสภาพแวดล้อมของหลาม ... เพียงแค่นำเข้าโมดูลและคุณไม่ต้องไป
- มันไม่ได้แก้ไข / สร้างรีจิสตรีคีย์หรือตัวแปรสภาพแวดล้อมถาวรดังนั้นจึงไม่มีโอกาสที่จะทำให้การกำหนดค่า python / arcgis ที่มีอยู่
- คุณไม่จำเป็นต้องรู้อะไรเกี่ยวกับเส้นทางไปยังโฟลเดอร์ / ไฟล์ต่าง ๆ หรือแม้แต่เวอร์ชั่น arcgis ที่คุณติดตั้ง โมดูลจะค้นหาทุกอย่างให้คุณ
- ไม่จำเป็นต้องมีการตรวจสอบสิทธิ์ผู้ดูแลระบบ
- มันไม่ได้เฉพาะเจาะจงกับแอนนาคอนดา แต่มันจะทำงานกับการติดตั้งไพ ธ อนใด ๆ
ฉันได้ทิ้งคำตอบดั้งเดิมไว้ด้านล่าง แต่โซลูชันนี้ (IMO) ดีกว่า 100%
2014 ตอบ
ตกลงดังนั้นคำตอบนี้ใช้ได้กับการแจกจ่ายงูใหญ่ 64 บิตกับงูเหลือม ArcGIS 10.1 64 บิตบน Windows 7 / Windows Server เคล็ดลับบางส่วน (หรือทั้งหมด) ที่ให้ไว้ด้านล่างอาจมีผลกับการแจกจ่าย python ของ windows อื่น ๆ ก่อนอื่นให้ติดตั้งแอนนาคอนดามันไปที่ไดเรคทอรี C: \ Anaconda ทำเครื่องหมายที่ช่อง 'make python เริ่มต้นของระบบ' อาจให้คำเตือนว่ามีการติดตั้งไพ ธ อนอื่น แต่ดำเนินการต่อ แล้ว:
เส้นทางการตั้งค่าและตัวแปรสภาพแวดล้อม
สิ่งแรกที่ทำคือการคัดลอกในช่วงDTBGGP64.pthไฟล์ไปยังไดเรกทอรีจัดจำหน่ายใหม่ ( C: \ งู ) จากC: \ Python27 \ ArcGISx6410.1 \ Lib \ เว็บไซต์แพคเกจ การตั้งชื่อนั้นไม่แน่นอน แต่ต้องมีนามสกุล. pthซึ่งจะช่วยให้คุณสามารถนำเข้า ArcPy เมื่อใช้การกระจายใหม่
หมายเหตุ: ตำแหน่งที่ถูกต้องของไฟล์ DTBGGP64.pth ควรอยู่ในไดเรกทอรีแพ็คเกจเว็บไซต์ (เช่นC: \ Anaconda \ Libs \ site-packages ) ฉันได้พบว่าด้วย Anaconda รุ่นเก่าบางรุ่นมันทำงานได้ถ้านั่งในไดเรกทอรีระดับบนสุด
ถัดไปต้องตรวจสอบตัวแปรสภาพแวดล้อม: ในเส้นทางตัวแปรระบบเส้นทางที่มีอยู่ไปยังไดเรกทอรี python ควรถูกแทนที่ด้วยเส้นทางใหม่ (เช่นC: \ Anaconda; C: \ Anaconda \ Scripts; ) หน้าต่างนี้จะบอกตำแหน่งของไดเรกทอรีไพ ธ อนเริ่มต้น ตรวจสอบให้แน่ใจว่าตัวแปรผู้ใช้PYTHONPATHนั้นถูกต้องเช่นกัน นี้ควรชี้ไปที่ห้องสมุดใด ๆ ที่คุณต้องการใช้งานที่ไม่ได้อธิบายโดย.pthไฟล์หรือมีการติดตั้งในเว็บไซต์แพคเกจ IE อาจเป็นแพ็คเกจการพัฒนาของคุณเองหรือแพ็คเกจเช่นmapnikซึ่งมีตำแหน่งการติดตั้งที่แตกต่างกัน
ตรวจสอบการตั้งค่ารีจิสทรี
ในเครื่องบางเครื่องข้างต้นอาจเพียงพอที่จะให้แน่ใจว่าคุณสามารถใช้ arcpy จาก python ใหม่และสามารถใช้ python ภายใน ArcGIS ในเครื่องอื่นคุณอาจต้องตรวจสอบรีจิสตรีคีย์ รีจิสตรีคีย์ต่อไปนี้มีการตั้งค่าหลาม:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ PythonPath
ควรมีหนึ่งคีย์และค่า 'ควรเป็นC: \ Anaconda \ Lib; C: \ Anaconda \ DLLs
(หรือโฟลเดอร์ที่เกี่ยวข้องสำหรับการติดตั้ง Python ของคุณ)
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ InstallPath
กุญแจควรเป็นC: \ Anaconda
คุณอาจติดตั้งรุ่นไพ ธ อนอื่น ... ซึ่งในกรณีนี้จะเปลี่ยนหมายเลขเวอร์ชันในพา ธ ด้านบน
HKEY_CLASSES_ROOT \ Python.CompiledFile \ DefaultIcon
นี่คือตำแหน่งของไฟล์. ico ที่จะใช้สำหรับไฟล์. pyc
HKEY_CLASSES_ROOT \ Python.CompiledFile \ shell \ open \ command
นี่คือคำสั่งที่จะออกเมื่อเปิดไฟล์. pyc จากเชลล์ คุณควรเปลี่ยนpython.exe
เส้นทางไปยังตำแหน่งของรุ่นไพ ธ อนที่คุณต้องการ
HKEY_CLASSES_ROOT \ Python.File
ปุ่มที่นี่เหมือนกันกับ Python.CompiledFile ยกเว้นว่าจะใช้กับไฟล์. py อีกครั้งทำการเปลี่ยนแปลงที่เกี่ยวข้อง อาจมีคีย์พิเศษสำหรับ 'แก้ไขด้วย IDLE' หรือ 'แก้ไขด้วย Pythonwin' อีกครั้งทำการเปลี่ยนแปลงที่เกี่ยวข้องเพื่อให้เส้นทางในปุ่มเหล่านี้ชี้ไปที่รุ่นหลามที่คุณต้องการ
HKEY_CLASSES_ROOT \ Python.NoConFile สิ่ง
เหล่านี้เหมือนกับ Python.File แต่ควรชี้ไปที่pythonw.exe
โปรแกรมตามความเหมาะสม
HKEY_LOCAL_MACHINE \ SOFTWARE \ ESRI \ Python10.1 PythonDirจุดสำคัญของการติดตั้งหลามเพื่อการใช้งานภายใน ArcMap ฯลฯ .. คุณอาจต้องการสำหรับเรื่องนี้ยังคงเป็นที่ติดตั้งหลามเป็นติดตั้งโดย ESRI หรือชี้ไปติดตั้งใหม่ของคุณ มันอาจต้องมีการเปลี่ยนแปลงอื่น ๆ ถ้าคุณชี้ ArcMap ไปที่การติดตั้งหลามใหม่ มีอาจจะมีปัญหากับรุ่นของแพคเกจ (เช่น numpy) ติดตั้งโดยจัดจำหน่ายใหม่ ฉันไม่เคยเจอเลย
สำหรับงานส่วนใหญ่ของฉันนี่ไม่เกี่ยวข้องเพราะฉันมักจะต้องการใช้ python ของมันเองและบางครั้งก็สามารถเข้าถึง arcpy ได้ ฉันไม่ค่อยต้องการใช้ python จากภายใน arcmap .. ดังนั้นฉันจึงทำการทดสอบขั้นตอนสุดท้ายนี้เล็กน้อย แต่ดูเหมือนจะใช้ได้กับทุกสิ่งที่ฉันได้ลองมาแล้ว
ฉันคิดว่ากระบวนการนี้จะคล้ายกับการติดตั้ง Python (x, y) เป็นต้น
บันทึกอื่น ๆ
เนื้อหาของไฟล์. pth เป็นรายการพา ธ ที่ชี้ไปยังโฟลเดอร์ต่อไปนี้ในการติดตั้ง ArcGIS ของคุณ: bin64, arcpy, ArcToolbox \ Scripts ตัวอย่างเช่นไฟล์. pth ของฉันมีดังต่อไปนี้:
C:\Program Files (x86)\ArcGIS\Desktop10.2\bin64
C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy
C:\Program Files (x86)\ArcGIS\Desktop10.2\ArcToolbox\Scripts