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 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?
Câu trả lời:
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.pth
vớ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.pth
trong 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.pth
vớ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.pth
và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!
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
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%
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 PATH
và PYTHONPATH
mô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à PATH
biế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 PYTHONPATH
biế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.
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 PATH
và PYTHONPATH
cá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 PATH
biế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)
Lệnh bạn sẽ thực thi để đặt PYTHONPATH
biế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.