รับ ArcPy เพื่อทำงานกับ Anaconda หรือไม่?


23

ฉันพยายามที่จะทำตามคำแนะนำทีละขั้นตอนในคำตอบที่ " วิธีการติดตั้งแยกหลามกับ ArcGIS " แต่ไม่สามารถหาไฟล์เส้นทางในDTBGGP64.pthC:\Python27\ArcGIS10.2\Lib\site-packages

มีใครบางคนประสบปัญหาที่คล้ายกันหรือไม่?

ฉันสงสัยว่ามีวิธีแก้ปัญหาหรือไม่โดยการรวมไฟล์พา ธ ที่บอกว่า Anaconda ที่ติดตั้งอาร์คpy? ฉันพยายามสร้างไฟล์. pth ที่มีข้อความต่อไปนี้:

# .pth file for arcpy

C:\Program Files (x86)\ArcGIS\Desktop10.2\bin 
C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy
C:\Program Files (x86)\ArcGIS\Desktop10.2\Scripts

และบันทึกลงในC:\Anaconda\Lib\site-packages(นั่นคือถ้าเป็นกรณีที่ทุกแพคเกจจะถูกบันทึกไว้) แต่ฉันได้รับข้อผิดพลาดต่อไปนี้:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy\arcpy\__init__.py", line 21, in <module>
    from arcpy.geoprocessing import gp
  File "C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy\arcpy\geoprocessing\__init__.py", line 14, in <module>
    from _base import *
  File "C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy\arcpy\geoprocessing\_base.py", line 14, in <module>
    import arcgisscripting
ImportError: DLL load failed: %1 is not a valid Win32 application.

ฉันใช้ conda 3.7-py27 บนแพลตฟอร์ม windows 7 (64 บิต) งูมีการติดตั้งในC:\Anacondaและ ArcMap C:\ArcGIS\Desktop10.2ติดตั้งใน มีวิธีอื่นในการทำให้ arcpy ทำงานกับ Anaconda หรือไม่? ฉันแค่ต้องการเรียกใช้สคริปต์จาก Powershell


เพียงเพื่อให้แน่ใจว่า - เมื่อคุณพิมพ์ 'หลาม' ที่พรอมต์คำสั่ง - รุ่น / ติดตั้งมันสะท้อน? (เช่น arcgis หรือ anaconda?) - อ๊ะเพิ่งเห็นว่านี่เป็นวันที่เล็กน้อย แก้ไขได้แล้วตอนนี้
fluidmotion

ฉันได้ยินจากนักพัฒนาที่ Esri UC ว่า Anacondas จะถูกสร้างขึ้นใน ArcGIS 10.5 ฉันอยากจะแนะนำเพียงแค่ติดตั้งโมดูลที่คุณต้องการมิฉะนั้นมันอาจจะยุ่ง
dgrubman

ดูเหมือนว่า ^ นี้เป็นกรณีจากArcGIS 10.5 ความต้องการของระบบ
WxCZar

คำตอบ:


13

คุณใช้ Python เวอร์ชัน 64 บิตในการติดตั้ง Anaconda และ Python ของ ArcMap เป็น 32 บิต คุณจะต้องติดตั้งบิวด์ ArcGIS 64 บิต (ทั้งแบ็คกราวน์ประมวลผล 64 บิตหรือ ArcGIS สำหรับเซิร์ฟเวอร์) และชี้ไปที่แทนหรือติดตั้งอินสแตนซ์ Anaconda 32 บิตแทนแล้วลองอีกครั้ง ดูหน้าดาวน์โหลดและรับตัวติดตั้ง 32 บิต


33

บทช่วยสอนนี้แสดงวิธีตั้งค่าสภาพแวดล้อม conda ให้ทำงานกับ ArcGIS 10.4 และ ArcGIS Pro 1.3

เวิร์กโฟลว์ในการตั้งค่า Anaconda ด้วย ArcGIS 10.4

  • ติดตั้ง Anaconda โดยไม่ทำให้ระบบ Windows สกปรก (พา ธ , รีจิสตรี) เพื่อแยก python ของ Esri
  • กำหนดค่าแอนาคอนดาด้วยโปรแกรมเสริมเฉพาะที่คุณต้องการและ
  • กำหนดค่า Python ของ ArcGIS เพื่อให้ทราบถึงเนื้อหาของแอนาคอนดาที่เหมาะสม

1) ติดตั้ง Anaconda สำหรับผู้ใช้ทั้งหมด

  1. ไปที่ http://continuum.io/downloads
  2. ดาวน์โหลดAnaconda เวอร์ชั่น32 บิต (Python 2.7)
  3. ในกล่องโต้ตอบการติดตั้ง:
    • เลือกติดตั้งสำหรับผู้ใช้ทั้งหมด
    • ติดตั้งไปยังโฟลเดอร์ตามค่าเริ่มต้น (C: \ Anaconda2)
    • สำคัญ : เพื่อหลีกเลี่ยงการทำลาย ArcGIS (หรือซอฟต์แวร์อื่น ๆ ) ให้ยกเลิกการทำเครื่องหมายที่ช่องทำเครื่องหมาย (a) ทำให้ Anaconda เป็น Python เริ่มต้นและ (b) เพิ่ม Python ของ Anaconda ลงใน PATH
  4. ไปที่เริ่ม> โปรแกรมทั้งหมด (แอป)> Anaconda2 (32 บิต)> Anaconda Prompt คลิกขวาเรียกใช้ในฐานะผู้ดูแล

2) กำหนดค่าสภาพแวดล้อม Anaconda สำหรับใช้กับ ArcGIS

  1. ค้นหาเวอร์ชันของ numpy และ matplotlib ArcGIS ที่ใช้
เปิดArcMapและหน้าต่าง Python และป้อนคำสั่งเหล่านี้:

    • >>> นำเข้า sys, numpy, matplotlib
    • >>> พิมพ์ (sys.version, numpy .__ version__, matplotlib .__ version__)
    • ('2.7.10 (ค่าเริ่มต้น 23 พฤษภาคม 2558, 09:40:32) [MSC v.1500 32 บิต (Intel)]', '1.9.2', '1.4.3')
  1. สร้างสภาพแวดล้อม Anaconda ที่เข้ากันได้กับ ArcGIS
    • ได้รับการ Anaconda Command Prompt (Start> All Programs (แอป)> Anaconda2 (32 บิต) เลือก " งู Prompt ") คลิกขวาเรียกใช้ในฐานะผู้ดูแลระบบ
    • ประเภท (ขึ้นอยู่กับรุ่น ArcGIS ฉันใช้ ArcGIS 10.4 เป็นตัวอย่างที่นี่):
    • "conda create -n arc104 python = 2.7.10 numpy = 1.9.2 matplotlib = 1.4.3 การแยก xlrd xlwt pandas scipy ipython ipython-notebook ipython-qtconsole"
    • ป้อนyเพื่อดำเนินการต่อ
    • คำสั่ง conda ของอนาคอนด้าจะตั้งค่าไดเรกทอรีย่อยของสภาพแวดล้อมเช่น: "C: \ Anaconda2 \ envs \ arc104" โดยติดตั้งแพ็คเกจที่ดาวน์โหลดเข้ามา
  2. ทดสอบสภาพแวดล้อมเสมือนจริง
    • ที่พรอมต์คำสั่งของ Anaconda ให้พิมพ์: enable arc104
    • ประเภท: รายการ CONDA คุณสามารถดูรายการแพ็คเกจที่ติดตั้ง
  3. เพิ่มแพ็คเกจเพิ่มเติม
    • คุณสามารถเพิ่มแพ็คเกจเพิ่มเติมโดยใช้การติดตั้ง condaแต่ต้องแน่ใจว่าคุณระบุหมายเลขเวอร์ชันสำหรับสิ่งเหล่านี้ที่จะไม่เปลี่ยนเวอร์ชันของ python หรือ numpy ของสภาพแวดล้อม (หรือ ArcGIS จะไม่สามารถใช้สภาพแวดล้อมนั้นได้อีก)
    • มาเพิ่มโมดูลPython Spatial Analysis Library ( pysal )
    • พิมพ์คำสั่งต่อไปนี้ที่Anaconda Prompt : "conda install -n arc104 python = 2.7.10 numpy = 1.9.2 matplotlib = 1.4.3 pysal"

3) กำหนดค่า ArcGIS เพื่อดู Anaconda และในทางกลับกัน

  1. งูอนาคอนดาเพื่อ ArcPy
    • คัดลอกไฟล์Desktop10.4.pthไปยังโฟลเดอร์ Anaconda environment-packages
    • จาก: C: \ Python27 \ ArcGIS10.4 \ Lib \ site-packages \ Desktop10.4.pth
    • ถึง: C: \ Anaconda2 \ envs \ arc104 \ Lib \ site-packages \ Desktop10.4.pth
  2. Arcpy ถึง Anaconda Python
    • สร้างไฟล์ zconda.pth (เส้นทาง) ที่มีเนื้อหา "C: \ Anaconda \ envs \ arc104 \ lib \ site-packages" ในนั้น
    • จากนั้นคัดลอก zconda.pth ไปยังC: \ Python27 \ ArcGIS10.4 \ Lib \ site-packages
  3. การทดสอบใน ArcMap
    • ในฐานะผู้ใช้ทั่วไปให้เริ่ม ArcMap เปิดหน้าต่าง Python
    • พิมพ์ "นำเข้า pysal"
    • พิมพ์ "pysal" เมนูป๊อปอัพที่มีรายการฟังก์ชั่นที่จัดหาโดย pysal เป็นสัญญาณที่ดีในการติดตั้งสำเร็จ
  4. การทดสอบใน PyCharm
    • เริ่ม PyCharm ใน File \ Settings …เลือก Project จากนั้น Project Interpreter
    • ละเว้นรายการดรอปดาวน์สำหรับ Project Interpreter และคลิกปุ่ม cog เพื่อเพิ่ม Local และในเบราว์เซอร์ไฟล์เลือกC: \ Anaconda2 \ envs \ arc104 \ python.exe
    • เมื่อต้องการเรียกใช้สคริปต์ของคุณคลิกขวาในหน้าต่างโครงการและเลือกเรียกใช้หรือดีบั๊ก
    • รีสตาร์ท PyCharm สำหรับ Python Console เพื่อใช้สภาพแวดล้อม arc104

เวิร์กโฟลว์เพื่อตั้งค่า Anaconda ด้วย ArcGIS Pro 1.3

1) สร้างสภาพแวดล้อมของ Anaconda ที่เข้ากันได้กับ ArcGIS Pro

  • คัดลอกโฟลเดอร์arcgispro-py3จาก C: \ Program Files \ ArcGIS \ Pro \ bin \ Python \ envs และวางไปที่ C: \ Anaconda2 \ envs
  • เปลี่ยนชื่อโฟลเดอร์ที่คัดลอกarcgispro-py3ใน C: \ Anaconda2 \ envs เป็นarcpro

2) ทดสอบสภาพแวดล้อมเสมือนจริง

  • ที่พรอมต์คำสั่งของ Anaconda ให้พิมพ์: enable arcpro
  • ประเภท: รายการ CONDA คุณสามารถดูรายการแพ็คเกจที่ติดตั้ง

3) เพิ่มแพ็คเกจเพิ่มเติม

  • มาเพิ่มโมดูลPython Spatial Analysis Library ( pysal )
  • พิมพ์คำสั่งต่อไปนี้ที่Anaconda Prompt : "conda install pysal"

4) กำหนดค่า ArcGIS เพื่อดู Anaconda และในทางกลับกัน

  • งูอนาคอนดาเพื่อ ArcPy
    • แก้ไขไฟล์ArcGISPro.pth (พา ธ ) ภายใน "C: \ Anaconda2 \ envs \ arcpro \ lib \ site-packages"
    • เปลี่ยนเส้นทางArcPyสัมพัทธ์เป็น C: \ Program Files \ ArcGIS \ Pro \ Resources \ ArcPy
    • เปลี่ยนเส้นทางArcToolBoxสัมพัทธ์เป็น C: \ Program Files \ ArcGIS \ Pro \ Resources \ ArcToolBox
  • Arcpy ถึง Anaconda Python
    • สร้างไฟล์ zconda.pth (พา ธ ) ด้วยเนื้อหา "C: \ Anaconda2 \ envs \ arcpro \ lib \ site-packages" ในนั้น
    • จากนั้นคัดลอก zconda.pth ไปยังC: \ Program Files \ ArcGIS \ Pro \ bin \ Python \ envs \ arcgispro-py3 \ lib \ site-packages
  • การทดสอบใน ArcGIS Pro
    • เริ่ม ArcGIS Pro เปิดหน้าต่าง Python
    • พิมพ์ "นำเข้า pysal"
    • พิมพ์ "pysal" เมนูป๊อปอัพที่มีรายการฟังก์ชั่นที่จัดหาโดย pysal นั้นเป็นสัญญาณที่ดีในการติดตั้งสำเร็จ
  •  การทดสอบใน PyCharm
    • เริ่ม PyCharm ใน File \ Settings …เลือก Project จากนั้น Project Interpreter
    • ละเว้นรายการดรอปดาวน์สำหรับ Project Interpreter และคลิกปุ่ม cog เพื่อเพิ่ม Local และในเบราว์เซอร์ไฟล์เลือกC: \ Anaconda2 \ envs \ arcpro \ python.exe
    • เมื่อต้องการเรียกใช้สคริปต์ของคุณคลิกขวาในหน้าต่างโครงการและเลือกเรียกใช้หรือดีบั๊ก
    • รีสตาร์ท PyCharm สำหรับ Python Console เพื่อใช้สภาพแวดล้อม arcpro

อ้างอิง

  1. https://goo.gl/pOyLA9

ทั้งหมดนี้ใช้งานได้ดีแพ็คเกจ Anaconda อยู่ใน ArcGIS และในทางกลับกัน แต่ฉันมีปัญหาที่เหลืออยู่ ถ้าฉันลองและนำเข้า arcpy และจากนั้น arcpy.Describe บน RDBMS (Oracle) - Featureclass แหล่งที่มาใน Anaconda แล้วฉันได้รับ IOError: ... ไม่มีอยู่ ทำงานได้ดีบนฟีเจอร์ datageodatabase แต่จะไม่เชื่อมต่อกับ Oracle (เช่น arcpy.Describe (r'C: \ temp \ password_saved_sde_file.sde \ EDGIS.ElectricDataset \ EDGIS.Anchor ')
Phil Penn

7

ในการแก้ไขปัญหานี้ให้เรียกดูโฟลเดอร์ python27 \ Lib \ site-packages ของฉันอยู่ภายใต้ "C: \ Python27 \ ArcGIS10.1 \ Lib \ site-packages" และค้นหาไฟล์ Desktop10.1.pth

ในระบบของฉันปัญหาได้รับการแก้ไขโดยเพียงคัดลอกไฟล์ Desktop10.1.pth ไปที่ "C: \ AppData \ Local \ Continuum \ Anaconda \ Lib \ site-packages"

หากคุณใช้ Anaconda 64 บิตคุณจะได้รับข้อผิดพลาดที่แตกต่างกันเมื่อคุณพยายามนำเข้า arcpy เนื่องจาก ArcGIS รัน 32 บิต ดังนั้นคุณต้องตรวจสอบให้แน่ใจว่าคุณติดตั้ง Anaconda 32 บิตมากกว่า 64 บิตดังนั้นสิ่งต่าง ๆ จึงเข้ากันกับ ArcGIS เมื่อไฟล์ถูกคัดลอกและคุณมี Anaconda 32 บิตการนำเข้า arcpy ควรใช้งานได้


3

หากคุณติดตั้ง Arc ก่อนงูใหญ่ IDLE เริ่มต้นของคุณหลามหน้าต่าง (ใน Arc) และงูหลามคอนโซลมักจะดึงจากโมดูล Arc-ติดตั้งของคุณคือC:\Python27\ArcGIS <version>\Lib(และ / Lib\site-packagesหรือ) หากคุณมีแพ็คเกจที่ติดตั้งกับ Anaconda ที่คุณต้องการใช้กับการติดตั้ง Python ของ Arc คุณจะต้องเขียนไฟล์. pth เพื่อแชร์ระหว่างการติดตั้ง Python ( การอ่านแบบเบา )

ตัวอย่างเช่นฉันต้องการใช้แพคเกจแพนด้าจากสิ่ง Anaconda ของฉัน ฉันสร้างไฟล์ข้อความในโฟลเดอร์แพ็คเกจไซต์ Arc ของฉันที่anaconda.pthมีเนื้อหาC:\Anaconda\Lib\site-packagesเชื่อมโยง Arc-install กับ Anaconda site-packages ตอนนี้ฉันสามารถimport pandasเข้าไปข้างใน Python ที่ติดตั้งโดยไม่ต้องใช้ ImportError (หากคุณมีปัญหาเกี่ยวกับ numpy เปลี่ยนชื่อnumpyโฟลเดอร์ที่ติดตั้ง Arc เป็น_numpy)

บน flipside ให้คัดลอกและวางDesktop<version>.pthไฟล์จากโฟลเดอร์ Arc site-packages ลงใน Anaconda ของคุณ (ซึ่งระบุตำแหน่งที่แท้จริงของแพ็คเกจ arcpy) และสร้างไฟล์. pth อีกไฟล์หนึ่งที่ชี้ไปยังโฟลเดอร์ Arc-package packages ใน Anaconda ของคุณ คุณสามารถใช้แพ็คเกจของ Arc จาก Spyder ถ้าคุณใช้


2

ผู้ใช้รายอื่นถามคำถามที่คล้ายกันเกี่ยวกับ GitHub ซึ่งอาจเป็นที่สนใจของคุณ นี่คือส่วนสำคัญของสิ่งที่ผู้ใช้คนหนึ่งแนะนำให้นำเข้าข้อมูลการเติมข้อความอัตโนมัติส่วนโค้งสำหรับแอนาคอนดา:

DamnWidget แสดงความคิดเห็นเมื่อ 26 ก.พ. https://github.com/DamnWidget/anaconda/issues/284

เปิด PowerShell หรือ CMD.exe และไปที่การติดตั้งแอนาคอนดาของคุณภายใต้โฟลเดอร์แพคเกจใน Sublime Text 3% APPDATA% ใส่ซีดีลงในโฟลเดอร์ anaconda_lib และเริ่มล่าม Python แบบโต้ตอบบนเส้นทางนั้น

คัดลอกและวางต่อไปนี้:

import jedi

print(jedi.Script('import arcpy; arcpy.').completions())

จากนั้น (อย่างน้อยสำหรับฉัน) มันส่งคืนสิ่งต่าง ๆ ในหน้าต่างคำสั่งและดูเหมือนว่าจะทำงานได้ ฉันเปิด Sublime Text อีกครั้งและดึงการเติมข้อความอัตโนมัติสำหรับฟังก์ชัน arcpy

ปัญหาของฉันคือใช้เวลาโหลด 5+ วินาทีดูเหมือนว่าจะไม่เก็บ arcpy ไว้ในหน่วยความจำนานกว่าสองสามวินาที แต่นั่นเป็นปัญหาอื่นที่ฉันคิดว่า ...


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