SP1 cho ArcGIS 10.1 có phần mở rộng cho Python 64 bit để xử lý địa lý nền - ngụ ý cho việc sử dụng Python khác


12

Nếu Công cụ địa lý nền 64 bit cho ArcGIS Desktop 10.1sp1 được cài đặt, điều đó ảnh hưởng đến cấu hình Python để sử dụng chung như thế nào?

Esri đã phát hành SP1 cho sản phẩm ArcGIS 10.1 và cho thành phần Máy tính để bàn đã tạo sẵn phiên bản Python 2.7.2 64 bit mà khi cài đặt thay thế các cuộc gọi Python 2.7 32 bit của Esri bằng các cuộc gọi 64 bit để xử lý địa lý nền (xử lý được gửi đi bên của phiên GUI ArcGIS Desktop đang hoạt động).

Cài đặt là tùy chọn - tức là không có nó ArcGIS Desktop tiếp tục chỉ còn dung lượng bộ nhớ người dùng 32 bit. Với nó, một mục \ bin64 được tạo cho thư mục chương trình Esri và các khóa đăng ký được thiết lập để xử lý 64 bit tại "HKEY_LOCAL_MACHINE \ SOFTWARE \ ESRI \ ArcGIS 10.1 SP1 cho Xử lý nền nền máy tính để bàn (64-bit)" và sau đó xử lý địa lý nền thực hiện trong không gian bộ nhớ 64 bit.

Cả Esri 32-bit và bây giờ Python 64-bit của nó đều có đầy đủ 2.7.2 cài đặt.

Trong quá trình xử lý địa lý nền đăng ký của Esri, các tệp đường dẫn và cấu hình sẽ đảm nhiệm việc gọi các tệp thực thi Python 64 bit. Mặc dù việc sử dụng Python 32 bit vẫn được giữ lại trong phiên ArcGIS Desktop nếu cần.

Vì vậy, những gì còn lại cho mỗi người dùng sẽ quyết định có nên tích hợp Python 2.7.2 đã cài đặt vào nhu cầu tính toán của họ bên ngoài ArcGIS hay không. Và cách tốt nhất để làm điều đó khi cả hai phiên bản Python 32 và 64 bit đều nằm trên hệ thống?

Hỏi một cách khác - Esri đảm nhiệm việc tích hợp Python 64 bit trong Máy tính để bàn ArcGIS của nó, vậy những cách nào sẽ hoạt động để định cấu hình nó cho phần còn lại của các trường hợp sử dụng ngoài ArcGIS?


Chỉ tò mò, bạn đã sử dụng Process Monitor hoặc một số thứ như vậy để giám sát việc cài đặt gói này? Đã nghĩ đến việc làm điều đó bản thân mình.
blah238

không, chỉ xem xét các thay đổi trong hệ thống tệp và sổ đăng ký
V Stuart Foote

3
Tôi đã thực hiện nhanh chóng trước & sau khi kiểm tra hiệu năng Xử lý địa lý nền 64 bit - không chắc chắn nếu chỉ cải thiện nhẹ (10%) là điều nên được mong đợi.
PolyGeo

4
@Arabella - Tôi sẽ không mong muốn hoán đổi thành 32 bit để làm mọi thứ nhanh hơn và cải thiện 10% được liên kết dường như không có ý nghĩa thống kê. Sự khác biệt chính là phiên bản 64 bit sẽ cho phép công cụ địa lý sử dụng hơn 4GB RAM. Bất cứ điều gì khác sẽ được tiếp tuyến.
GIS-Jonathan

2
@PolyGeo - Về cơ bản, sự khác biệt cốt lõi giữa 32 bit và 64 bit là các ứng dụng 32 bit không thể sử dụng nhiều hơn 4GB RAM (đơn giản là chúng không thể giải quyết nó - thực tế nhiều khả năng là 2GB hoặc 3GB trên Windows tùy thuộc vào cờ và nội dung). Dù sao, để thực sự thấy được lợi ích của 32 bit so với 64 bit, bạn cần thực hiện một thử nghiệm sẽ sử dụng nhiều hơn ~ 4GB RAM. Tất nhiên, có thể có các tối ưu hóa ESRI đã thực hiện giữa các phiên bản, nhưng bản thân độ tuổi 32 / 64bit chỉ xử lý việc sử dụng RAM ở cấp độ cốt lõi.
GIS-Jonathan

Câu trả lời:


1

Vì vậy, những gì còn lại cho mỗi người dùng sẽ quyết định có nên tích hợp Python 2.7.2 đã cài đặt vào nhu cầu tính toán của họ bên ngoài ArcGIS hay không. Và cách tốt nhất để làm điều đó khi cả hai phiên bản Python 32 và 64 bit đều nằm trên hệ thống?

Theo tôi hiểu, bạn đang hỏi cách chúng ta có thể phân biệt các phiên bản khác nhau của trăn và sử dụng nó theo nhu cầu của chúng ta.

Cách dễ nhất là xác định chính xác trình thông dịch bạn sẽ sử dụng để chạy tập lệnh của mình. Thông tin chi tiết có thể được tìm thấy trong này SO q / a.


Trong một ý nghĩa. Nhưng tôi thích làm việc này hơn là lập trình trong quá trình viết kịch bản. Cách chuyển đổi PYTHONHOME và PYTHONPATH, sau đó thao tác chúng bằng các lệnh gọi sys.path.append () hoặc site.addsitedir () để cấu hình lại hệ thống để sử dụng Python 32 bit hoặc 64 bit. Gợi ý trong SO q / a chỉ gọi một phiên bản Python hoặc phiên bản khác là loại thô. Thách thức sẽ là sự tinh tế để sử dụng linh hoạt mô-đun trang web và hoạt động đáng tin cậy trong một IDE. Ngoài thao tác đơn giản và đường dẫn gói trang web, có thể có nhiều cấu hình Python với virtualenv của môi trường 32 bit và 64 bit.
V Stuart Foote

Trong tập lệnh của bạn, bạn có thể thử gọi thực thi tập lệnh python khác bằng cách gọi nó với trình thông dịch cần thiết (x32 hoặc x64) từ dòng lệnh bằng cách sử dụng mô đun quy trình con chẳng hạn.
Alex Markov

0

Đối với tôi, đây là những gì được yêu cầu ... và tôi vẫn không chắc mọi thứ đang hoạt động 'đúng cách'. Sau khi tôi cài đặt các công cụ xử lý địa lý nền 64 bit và thay đổi PYTHONPATH của mình để sử dụng chúng (ví dụ như python mặc định), có vẻ như nó đã phá vỡ mọi thứ trong ArcMap (ví dụ: python console 32 bit). Vì vậy, tôi đã đưa ra các công việc sau đây xung quanh. YMMV

1) Tải xuống và chạy các công cụ xử lý địa lý nền 64 bit: May mắn thay tôi đã tìm thấy nó một lần! Tôi dường như không thể tìm thấy liên kết một lần nữa ...

2) Thêm phần sau vào hệ thống PYTHONPATH (giả sử bạn đang sử dụng 64 bit theo mặc định) :; C: \ Python27 \ ArcGISx6410.1 \ DLLs; C: \ Python27 \ ArcGISx6410.1 \ lib; C: \ Python27 \ ArcGISx6410 .1 \ lib \ plat-win; C: \ Python27 \ ArcGISx6410.1 \ lib \ lib-tk; C: \ Python27 \ ArcGISx6410.1; C: \ Chương trình tệp (x86) \ ArcGIS \ Desktop10.1 \ bin64; C: \ Chương trình tệp (x86) \ ArcGIS \ Desktop10.1 \ arcpy; C: \ Chương trình tệp (x86) \ ArcGIS \ Desktop10.1 \ ArcToolbox \ Sc scripts

3) Tạo tập lệnh khởi động cho Arcmap Python để nó không bị nhầm lẫn với nhập 64 bit từ PYTHONPATH

import sys
if sys.executable in ['C:\\Python27\\ArcGIS10.1\\python.exe', 'C:\\Program Files (x86)\\ArcGIS\\Desktop10.1\\bin\\ArcMap.exe']:
    print('Resetting Path')
    sys.path = [
        #python32 for ESRI
        'C:\\windows\\system32\\python27.zip',
        'C:\\Python27\\ArcGIS10.1\\DLLs',
        'C:\\Python27\\ArcGIS10.1\\lib',
        'C:\\Python27\\ArcGIS10.1\\lib\\plat-win',
        'C:\\Python27\\ArcGIS10.1\\lib\\lib-tk',
        'C:\\Python27\\ArcGIS10.1',
        'C:\\Python27\\ArcGIS10.1\\lib\\site-packages',
        'C:\\Program Files (x86)\\ArcGIS\\Desktop10.1\\bin',
        'C:\\Program Files (x86)\\ArcGIS\\Desktop10.1\\arcpy',
        'C:\\Program Files (x86)\\ArcGIS\\Desktop10.1\\ArcToolbox\\Scripts',
        #defaults
        'C:\\Python27\\Lib\\',
        'C:\\Python27\\Lib\\site-packages',
        'C:\\pythonnet'
        ]

import arcpy 
from arcpy import env

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.