Làm cách nào để truy cập các mô-đun Esri ArcPy từ Enth think Canopy?


10

Tôi có ArcGIS 10.1 đang chạy trên hệ thống windows của mình và tôi cũng đã cài đặt bản phân phối Python Canopy Express Enth think 32 bit mới.

Có thể tải và sử dụng các mô-đun Esri ArcPy từ Canopy không?


Tôi đã sử dụng giải pháp của câu trả lời đầu tiên và hoạt động hoàn hảo nhưng tôi cần tán x64, có cách nào để nhập lib này ở tán x64 không?
Μανώλης Παναγιωτάκης

Câu trả lời:


20

Có một cách dễ dàng mà không liên quan đến việc gây rối với hệ thống PATH hoặc PYTHONPATH của hệ thống của bạn.

Các bản phân phối Python Enth think, bao gồm Canopy x32, độc lập và không cần bất cứ thứ gì trong sổ đăng ký hoặc trong các biến môi trường. Vì vậy, họ có thể chơi tốt với các bản phân phối Python khác như bản phân phối đi kèm với ArcGIS 10.1.

Để truy cập các mô-đun python ArcGIS 10.1 từ Enth think Canopy : Tạo tệp "đường dẫn" trong thư mục người dùng Canopy trỏ đến các mô-đun python ArcGIS 10.1. Trên hệ thống của tôi, tôi đã tạo một tệp văn bản được gọi arcpy.pthvới 4 dòng sau:

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

và đặt arcpy.pthtrong thư mục gói người dùng Canopy:

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

Để truy cập các mô-đun Enth think Canopy từ ArcGIS 10.1 : Tạo tệp "đường dẫn" trong thư mục gói trang web Arc trỏ đến các mô-đun python Canopy. Trên hệ thống của tôi, tôi đã tạo một tệp văn bản được gọi epd.pthvới 3 dòng sau:

# .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

và sau đó đặt epd.pthvào thư mục gói trang Arc:

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

Đó là tất cả những gì tôi cần làm!

-Giàu có

PS Điều này hoạt động vì Enth think Canopy 1.0 và ArcGIS10.1 ở cùng một phiên bản Python (2.7) và Numpy (1.6.1). Tôi hy vọng chúng ta có thể tiếp tục có khả năng tương thích này!

Cập nhật: Tôi vừa thử điều này với Canopy 1.0.3, sử dụng Numpy 1.7.1 và nó vẫn hoạt động, mặc dù ArcGIS 10.1 đang ở Numpy 1.6.1. Tiếng hoan hô! Yippee!


3
Một số lưu ý: 1. Đảm bảo bạn đã cài đặt EPD / Canopy x32 để sử dụng với ArCGIS Desktop. 2. Các tệp pth được tải theo thứ tự bảng chữ cái, vì vậy để tránh xung đột, tôi đã đặt tên cho các tệp này: "zzArcGIS.pth" (thư mục gói trang web Canopy) và "zzEPD.pth" (thư mục gói trang web ArcGIS). 3. Nếu bạn đang sử dụng ArcGIS Desktop x64 Background GP hoặc ArcGIS Server (sử dụng Python x64), bạn cần cài đặt EPD / Canopy 64 bit và thêm các tệp .pth trỏ vào các thư mục gói trang web EPD và ArcGIS Python 64 bit .
Giá của Curtis

3

Vâng, đúng vậy. Dưới đây là đoạn trích từ hướng dẫn cài đặt nội bộ vừa được sử dụng để thực hiện tương tự trên máy của tôi (vui lòng đảm bảo những điều này áp dụng cho máy cụ thể của bạn):


Cấu hình môi trường cho EPD

  1. Thêm một PATH mới trong các biến người dùng của bạn (thêm epd vào PATH):

    (chỉnh sửa các đường dẫn bên dưới theo phiên bản EPD hoặc ArcGIS bạn đang sử dụng) PATH=C:\Python27_epd32;C:\Python27_epd32\Scripts;%PATH%

  2. Nếu ArcGIS được cài đặt, hãy đặt biến môi trường PYTHONPATH để
    ArcGIS có thể nhập các mô-đun EPD và EPD có thể nhập ArcPy:

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

Nếu bạn gặp vấn đề với ArcGIS xung đột với EPD, bạn có thể dễ dàng xóa EPD khỏi môi trường ArcGIS bằng cách xóa các tham chiếu đến EPD trong PYTHONPATH.


Khước từ! Mặc dù các bước dưới đây đã có hiệu quả với tôi trong quá khứ, tôi không phải là người am hiểu về DOS và tôi sẽ cảm thấy tốt hơn nếu bạn hỏi ý kiến ​​ai đó trong bộ phận CNTT của bạn để đảm bảo rằng tôi không đưa ra lời khuyên tồi. Như đã nói, hãy đọc tiếp ...

Việc thêm đường dẫn vào các biến môi trường của bạn khá đơn giản bằng cách sử dụng dấu nhắc lệnh DOS (Tất cả chương trình> Phụ kiện> Dấu nhắc lệnh). Bạn sẽ sử dụng lệnh setxđể thay đổi vĩnh viễn các biến PATHPYTHONPATHmôi trường của bạn .

Tại dấu nhắc lệnh, gõ " echo %PATH%"; nó sẽ in ra chuỗi đó là PATHbiến. Nó cơ bản chỉ là một chuỗi dài các ký tự. Bây giờ hãy thử với PYTHONPATHbiến để xem những gì trong đó. Bạn sẽ nhận thấy mỗi đường dẫn trong các biến đó được phân tách bằng dấu chấm phẩy ( ;). Khi chúng ta thêm các đường dẫn mới vào các biến này, chúng ta phải bao gồm các biến này.

nhập mô tả hình ảnh ở đây

Về cơ bản những gì bạn sẽ làm là nói với máy tính bạn muốn các biến mới PATHPYTHONPATHcác biến của bạn bằng một số chuỗi (đường dẫn) mới (như C:\Python27_epd32\lib\site-packages;C:\ArcGIS\Desktop10.1\bin;) cộng với những gì đã được lưu trữ trong biến.

Lệnh bạn sẽ thực thi để đặt PATHbiến của mình là: setx PATH=C:\Python27_epd32;C:\Python27_epd32\Scripts;%PATH%(đảm bảo các đường dẫn này có thể áp dụng cho hệ thống của bạn)

nhập mô tả hình ảnh ở đây

Lệnh bạn sẽ thực thi để đặt PYTHONPATHbiến của mình là: 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%(đảm bảo các đường dẫn này có thể áp dụng cho hệ thống của bạn)

LƯU Ý: Đảm bảo rằng bạn thêm " %PATH%" và " %PYTHONPATH%" vào cuối các lệnh tương ứng. Nếu bạn không, bạn sẽ ghi đè các biến đó chỉ bằng các đường dẫn mới và bạn sẽ mất nội dung hiện tại.


Cảm ơn, Jason! Tuy nhiên, tôi cần chi tiết hơn một chút về cách thực hiện việc này - làm cách nào để chỉnh sửa biến người dùng?
SharonB

Tại dấu nhắc lệnh của DOS, bạn sẽ muốn sử dụng lệnh SETX (câu trả lời thứ 2 tại stackoverflow.com/questions/8353265/ ) để chuẩn bị vĩnh viễn các đường dẫn đến các biến PATH và PYTHONPATH của bạn. Bạn cũng có thể thực hiện việc này thông qua một số Công cụ quản trị nếu tôi nhớ chính xác, nhưng tôi không có quyền trên máy tính làm việc của mình để sử dụng chúng vì vậy tôi thường sử dụng cửa sổ DOS.
Jason

Cảm ơn bạn một lần nữa ... với tư cách là một người mới làm việc Python-er, người hoạt động chủ yếu trong IDLE (chưa bao giờ chạm vào dấu nhắc lệnh của DOS) Tôi không biết về / cách thêm các biến môi trường PATH và PYTHONPATH mới. Có lẽ ảnh chụp màn hình và / hoặc một tùy chọn để thực hiện việc này thông qua GUI (không phải DOS)?
SharonB

Ái chà. Cảm ơn bạn. Điều này thật ấn tượng. Rất nhiều đánh giá cao, tôi sẽ cho bạn biết làm thế nào nó đi.
SharonB

Hehe, đó là một quá trình đơn giản, nhưng có vẻ phức tạp vì tất cả các con đường! Tôi hy vọng tất cả các công việc của bạn sẽ đến với nhau!
Jason
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.