วิธีการเข้าถึงโมดูล Esri ArcPy จาก Enthought Canopy?


10

ฉันมี ArcGIS 10.1 ที่ทำงานบนระบบ windows ของฉันและฉันยังได้ติดตั้ง Canopy Express Enthought Python รุ่น 32 บิตใหม่

เป็นไปได้หรือไม่ที่จะโหลดและใช้โมดูล Esri ArcPy จาก Canopy


ฉันใช้วิธีแก้ปัญหาของคำตอบแรกและทำงานได้สมบูรณ์ แต่ฉันต้องการ canopy x64 มีวิธีนำเข้า lib นี้ที่ canopy x64 หรือไม่?
ΜανώληςΠαναγιωτάκης

คำตอบ:


20

มีวิธีง่าย ๆ ที่ไม่เกี่ยวข้องกับ messing กับ PATH หรือ PYTHONPATH ของระบบของคุณ

การแจกแจงเอน ธ อร์ ธ ไพ ธ อนรวมถึง Canopy x32 นั้นเป็นแบบสแตนด์อโลนและไม่ต้องการอะไรในรีจิสตรีหรือตัวแปรสภาพแวดล้อม ดังนั้นพวกเขาจึงสามารถเล่นได้ดีกับ Python ดิสทริบิวชันอื่น ๆ เช่นที่มาพร้อมกับ ArcGIS 10.1

ในการเข้าถึงโมดูลงูหลาม ArcGIS 10.1 จาก EnAsiat Canopy : สร้างไฟล์ "เส้นทาง" ในไดเรกทอรีผู้ใช้ Canopy ที่ชี้ไปยังโมดูลงูหลาม ArcGIS 10.1 ในระบบของฉันฉันสร้างไฟล์ข้อความที่เรียกว่าarcpy.pthมี 4 บรรทัดเหล่านี้:

# .pth file for arcpy
C:\ArcGIS\Desktop10.1\bin
C:\ArcGIS\Desktop10.1\arcpy
C:\ArcGIS\Desktop10.1\ArcToolbox\Scripts

และใส่arcpy.pthในไดเรกทอรีแพ็คเกจไซต์ไซต์ผู้ใช้ Canopy:

C:\Users\rsignell\AppData\Local\Enthought\Canopy32\User\lib\site-packages

ในการเข้าถึงโมดูล Enthought Canopy จาก ArcGIS 10.1 : สร้างไฟล์ "path" ในโฟลเดอร์ Arc site-packages ที่ชี้ไปที่โมดูล Canopy python ในระบบของฉันฉันสร้างไฟล์ข้อความที่เรียกว่าepd.pth3 บรรทัดเหล่านี้:

# .pth file for EPD Canopy
C:\Users\rsignell\AppData\Local\Enthought\Canopy32\User\Lib\site-packages
C:\Users\rsignell\AppData\Local\Enthought\Canopy32\System\Lib\site-packages

แล้วใส่epd.pthในโฟลเดอร์แพคเกจเว็บไซต์ Arc:

C:\Python27\ArcGIS10.1\Lib\site-packages

นั่นคือทั้งหมดที่ฉันต้องทำ!

อุดมไปด้วย

ปล. ทำงานได้เพราะ Enthought Canopy 1.0 และ ArcGIS10.1 เป็นรุ่น Python (2.7) และ Numpy (1.6.1) รุ่นเดียวกัน ฉันหวังว่าเราจะยังคงมีความเข้ากันได้ต่อไป!

อัปเดต:ฉันเพิ่งลองด้วย Canopy 1.0.3 ซึ่งใช้ Numpy 1.7.1 และยังใช้งานได้แม้ว่า ArcGIS 10.1 จะอยู่ที่ Numpy 1.6.1 เย่! ไชโย


3
หมายเหตุเล็กน้อย: 1. ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง EPD / Canopy x32 เพื่อใช้กับ ArCGIS Desktop 2. ไฟล์ pth ถูกโหลดตามลำดับตัวอักษรดังนั้นเพื่อหลีกเลี่ยงความขัดแย้งฉันได้ตั้งชื่อไฟล์เหล่านี้: "zzArcGIS.pth" (โฟลเดอร์ Canopy site-packages) และ "zzEPD.pth" (โฟลเดอร์ ArcGIS site-packages) 3. หากคุณใช้ ArcGIS Desktop x64 Background GP หรือ ArcGIS Server (ซึ่งใช้ Python x64) คุณจะต้องติดตั้ง EPD / Canopy 64 บิตและเพิ่มไฟล์. pth ที่ชี้ไปยังโฟลเดอร์แพ็คเกจเว็บไซต์แพคเกจ 64-bit EPD และ ArcGIS Python .
เคอร์ติสราคา

3

ใช่แล้ว. นี่คือข้อความที่ตัดตอนมาจากคู่มือการติดตั้งภายในที่เพิ่งใช้ทำสิ่งเดียวกันในเครื่องของฉัน (โปรดตรวจสอบให้แน่ใจว่าสิ่งเหล่านี้ใช้กับเครื่องของคุณโดยเฉพาะ):


กำหนดค่าสภาพแวดล้อมสำหรับ EPD

  1. เพิ่ม PATH ใหม่ในตัวแปรผู้ใช้ของคุณ (เพิ่ม epd ลงใน PATH):

    (แก้ไขเส้นทางด้านล่างตามเวอร์ชั่นของ EPD หรือ ArcGIS ที่คุณใช้) PATH=C:\Python27_epd32;C:\Python27_epd32\Scripts;%PATH%

  2. หากติดตั้ง ArcGIS ให้ตั้งค่าตัวแปรสภาพแวดล้อม PYTHONPATH เพื่อให้
    ArcGIS สามารถนำเข้าโมดูล EPD และ EPD สามารถนำเข้า ArcPy:

    PYTHONPATH= C:\Python27_epd32\lib\site-packages; C:\ArcGIS\Desktop10.1\bin; C:\ArcGIS\Desktop10.1\arcpy; C:\ArcGIS\Desktop10.1\ArcToolbox\Scripts

หากคุณพบปัญหาเกี่ยวกับ ArcGIS ที่ขัดแย้งกับ EPD คุณสามารถลบ EPD ออกจากสภาพแวดล้อม ArcGIS ได้อย่างง่ายดายโดยลบการอ้างอิงไปยัง EPD ใน PYTHONPATH


ขอสงวนสิทธิ์! ในขณะที่ขั้นตอนด้านล่างใช้งานได้กับฉันในอดีตฉันไม่ใช่คนที่เข้าใจเรื่อง DOS มากและฉันจะรู้สึกดีขึ้นถ้าคุณปรึกษาคนในแผนกไอทีของคุณเพื่อให้แน่ใจว่าฉันไม่ได้ส่งคำแนะนำที่ไม่ดี ด้วยที่กล่าวว่าอ่านต่อ ...

การเพิ่มพา ธ ไปยังตัวแปรสภาพแวดล้อมของคุณนั้นค่อนข้างตรงไปตรงมาโดยใช้คำสั่ง DOS (โปรแกรมทั้งหมด> อุปกรณ์เสริม> พรอมต์คำสั่ง) คุณจะใช้คำสั่งsetxเพื่อแก้ไขตัวแปรสภาพแวดล้อมของคุณPATHและอย่างถาวรPYTHONPATH

ที่พรอมต์คำสั่งพิมพ์ " echo %PATH%"; มันจะพิมพ์สตริงที่เป็นPATHตัวแปร มันเป็นแค่ตัวละครยาว ทีนี้ลองใช้PYTHONPATHตัวแปรดูว่ามีอะไรอยู่ในนั้น คุณจะสังเกตเห็นแต่ละเส้นทางในตัวแปรเหล่านั้นคั่นด้วยเซมิโคลอน ( ;) เมื่อเราเพิ่มเส้นทางใหม่ให้กับตัวแปรเหล่านี้เราจะต้องรวมสิ่งเหล่านี้

ป้อนคำอธิบายรูปภาพที่นี่

สิ่งที่คุณจะทำคือบอกคอมพิวเตอร์ว่าคุณต้องการตัวแปรใหม่PATHและPYTHONPATHตัวแปรให้เท่ากับสตริงใหม่ (พา ธ ) (เช่นC:\Python27_epd32\lib\site-packages;C:\ArcGIS\Desktop10.1\bin;) รวมถึงสิ่งที่เก็บไว้ในตัวแปรแล้ว

คำสั่งที่คุณจะดำเนินการเพื่อตั้งค่าPATHตัวแปรของคุณคือ: setx PATH=C:\Python27_epd32;C:\Python27_epd32\Scripts;%PATH%(ตรวจสอบให้แน่ใจว่าพา ธ เหล่านี้สามารถใช้ได้กับระบบของคุณ)

ป้อนคำอธิบายรูปภาพที่นี่

คำสั่งที่คุณจะดำเนินการเพื่อตั้งค่าPYTHONPATHตัวแปรของคุณคือ: setx PYTHONPATH=C:\Python27_epd32\lib\site-packages;C:\ArcGIS\Desktop10.1\bin;C:\ArcGIS\Desktop10.1\arcpy;C:\ArcGIS\Desktop10.1\ArcToolbox\Scripts;%PYTHONPATH%(ตรวจสอบให้แน่ใจว่าพา ธ เหล่านี้สามารถใช้ได้กับระบบของคุณ)

หมายเหตุ:ตรวจสอบให้แน่ใจว่าคุณเพิ่ม " %PATH%" และ " %PYTHONPATH%" ในตอนท้ายของคำสั่งที่เกี่ยวข้อง หากคุณไม่ทำเช่นนั้นคุณจะเขียนทับตัวแปรเหล่านั้นด้วยเส้นทางใหม่เท่านั้นและคุณจะสูญเสียเนื้อหาปัจจุบัน


ขอบคุณเจสัน! อย่างไรก็ตามฉันต้องการรายละเอียดเพิ่มเติมเล็กน้อยเกี่ยวกับวิธีการทำเช่นนี้ฉันจะแก้ไขตัวแปรผู้ใช้ได้อย่างไร
SharonB

ที่พรอมต์คำสั่ง DOS คุณจะต้องใช้คำสั่ง SETX (คำตอบที่ 2 ที่stackoverflow.com/questions/8358265/ ...... ) เพื่อเพิ่มเส้นทางไปยังตัวแปร PATH และ PYTHONPATH ของคุณอย่างถาวร คุณสามารถทำได้ผ่านเครื่องมือการดูแลระบบบางอย่างถ้าฉันจำได้อย่างถูกต้อง แต่ฉันไม่ได้รับอนุญาตให้ใช้งานคอมพิวเตอร์ดังนั้นฉันมักจะใช้หน้าต่าง DOS
เจสัน

ขอบคุณอีกครั้ง ... ในฐานะมือใหม่ Python-er ที่ทำงานเป็นหลักใน IDLE (ไม่เคยสัมผัสกับพรอมต์คำสั่ง DOS) ฉันไม่รู้เกี่ยวกับ / วิธีเพิ่มตัวแปรสภาพแวดล้อม PATH และ PYTHONPATH ใหม่ บางทีภาพหน้าจอและ / หรือตัวเลือกในการทำเช่นนี้ผ่าน GUI (ไม่ใช่ DOS)?
SharonB

โว้ว. ขอบคุณ. อันนี้น่าประทับใจ ชื่นชมมากฉันจะแจ้งให้คุณทราบว่ามันไปอย่างไร
SharonB

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