Tôi đã tạo một mô-đun nhỏ (và tương đối phổ biến) tắt và săn lùng ArcGIS trên PC của bạn. Khi tìm thấy nó thêm các đường dẫn chính xác đến môi trường để bạn có thể nhập Arcpy. Việc sử dụng diễn ra như sau:
try:
import archook #The module which locates arcgis
archook.get_arcpy()
import arcpy
except ImportError:
# do whatever you do if arcpy isnt there.
Mô-đun được lưu trữ trên github tại đây:
https://github.com/JamesRamm/archook
Nó rất đơn giản và tôi chắc chắn có thể được làm cho mạnh mẽ hơn, nhưng nó thực hiện công việc. Nó có sẵn trên pypi:pip install archook
Nó có một vài ưu điểm so với phương pháp ban đầu 'thủ công' hơn (chi tiết bên dưới):
- Bạn không cần phải cấu hình riêng từng môi trường python ... chỉ cần nhập mô-đun và tắt đi
- Nó không chỉnh sửa / tạo bất kỳ khóa đăng ký hoặc biến môi trường vĩnh viễn, do đó không có khả năng làm rối bất kỳ cấu hình python / arcgis hiện có.
- Bạn không cần biết gì về đường dẫn đến các thư mục / tệp khác nhau, hoặc thậm chí phiên bản arcgis nào bạn đã cài đặt. Các mô-đun sẽ tìm thấy tất cả cho bạn.
- Không cần xác thực quản trị viên
- Nó không cụ thể với anaconda - nó sẽ hoạt động với mọi cài đặt python
Tôi đã để lại câu trả lời ban đầu bên dưới, nhưng giải pháp này là (IMO) tốt hơn 100%.
Câu trả lời năm 2014
Ok, vì vậy câu trả lời này hoạt động cho bản phân phối Python Anaconda 64 bit với ArcGIS 10.1 64bit trên Windows 7 / Windows Server. Một số (hoặc tất cả) các mẹo được đưa ra dưới đây có thể áp dụng cho bất kỳ phân phối cửa sổ nào khác của python. Đầu tiên, cài đặt anaconda, nó sẽ vào thư mục C: \ Anaconda. Chọn hộp 'tạo hệ thống python mặc định'. Nó có thể đưa ra cảnh báo rằng có một con trăn khác được cài đặt, nhưng vẫn tiếp tục. Sau đó:
Đường dẫn thiết lập và biến môi trường
Điều đầu tiên cần làm là sao chép tệp DTBGGP64.pth sang thư mục phân phối mới ( C: \ Anaconda ) từ C: \ Python27 \ ArcGISx6410.1 \ Lib \ site-gói . Việc đặt tên là phổ biến, nhưng phải có phần mở rộng .pth Điều này sẽ cho phép bạn nhập ArcPy khi sử dụng bản phân phối mới.
Lưu ý: Vị trí chính xác của tệp DTBGGP64.pth phải nằm trong thư mục gói trang web (ví dụ: C: \ Anaconda \ Libs \ site-gói ). Tôi đã thấy rằng với một số phiên bản cũ hơn của Anaconda, nó hoạt động nếu ngồi trong thư mục cấp cao nhất
Tiếp theo, các biến môi trường phải được kiểm tra: Trong đường dẫn biến hệ thống, đường dẫn hiện có đến thư mục python nên được thay thế bằng đường dẫn mới. (ví dụ: C: \ Anaconda; C: \ Anaconda \ Sc scripts; ) Điều này sẽ cho các cửa sổ biết thư mục python mặc định là gì. Đảm bảo biến người dùng PYTHONPATH cũng chính xác. Điều này sẽ trỏ đến bất kỳ thư viện nào bạn muốn sử dụng không được mô tả bởi các tệp .pth hoặc được cài đặt trong các gói trang web . IE đây có thể là các gói phát triển của riêng bạn hoặc các gói như mapnik có vị trí cài đặt khác.
Kiểm tra cài đặt đăng ký
Trên một số máy, những điều trên có thể đủ để đảm bảo rằng bạn có thể sử dụng arcpy từ con trăn mới và con trăn đó có thể được sử dụng trong ArcGIS. Trên các máy khác, bạn có thể cần kiểm tra các khóa registry. Các khóa đăng ký sau có cài đặt python:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ PythonPath
Cần có một khóa và giá trị của nó phải là C: \ Anaconda \ Lib; C: \ Anaconda \ DLLs
(Hoặc các thư mục tương ứng cho cài đặt python của bạn)
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ InstallPath
Khóa phải là C: \ Anaconda
Bạn có thể cài đặt các phiên bản python khác ... trong trường hợp này thay đổi số phiên bản trong các đường dẫn ở trên
HKEY_CLASSES_ROOT \ Python.CompiledFile \ DefaultIcon
Đây là vị trí của tệp .ico để sử dụng cho các tệp .pyc
HKEY_CLASSES_ROOT \ Python.CompiledFile \ shell \ open \ lệnh
Đây là lệnh phát hành khi mở tệp .pyc từ trình bao. Bạn nên thay đổi python.exe
đường dẫn đến vị trí của phiên bản python mong muốn của bạn
HKEY_CLASSES_ROOT \ Python.File
Các khóa ở đây giống như các khóa cho Python.CompiledFile ngoại trừ việc chúng áp dụng cho tệp .py. Một lần nữa, thực hiện các thay đổi có liên quan. Nó có thể có một phím phụ cho 'Chỉnh sửa bằng IDLE' hoặc 'Chỉnh sửa bằng Pythonwin'. Một lần nữa, thực hiện các thay đổi có liên quan để các đường dẫn trong các phím này trỏ đến phiên bản python mong muốn của bạn.
HKEY_CLASSES_ROOT \ Python.NoConFile
Đây là giống như với Python.File, nhưng nên trỏ đến pythonw.exe
chương trình khi thích hợp.
HKEY_LOCAL_MACHINE \ SOFTWARE \ ESRI \ Python10.1
Khóa PythonDir trỏ đến cài đặt python để sử dụng trong ArcMap, v.v. Nó có thể yêu cầu các thay đổi khác nếu bạn trỏ ArcMap vào bản cài đặt python mới. Có thể có các vấn đề với các phiên bản của gói (ví dụ: numpy) được cài đặt bởi bản phân phối mới. Tôi chưa gặp phải bất kỳ.
Đối với phần lớn công việc của tôi, điều này không liên quan vì tôi thường muốn sử dụng python cho riêng mình và đôi khi có quyền truy cập vào Arcpy. Tôi hiếm khi muốn sử dụng python từ bên trong arcmap..Vì vậy, tôi đã thực hiện một thử nghiệm nhỏ về bước cuối cùng này, nhưng nó dường như hoạt động cho tất cả mọi thứ tôi đã thử cho đến nay.
Tôi tưởng tượng rằng quá trình này sẽ tương tự để cài đặt Python (x, y), v.v.
Ghi chú khác
Nội dung của tệp .pth là danh sách các đường dẫn trỏ đến các thư mục sau trong bản cài đặt ArcGIS của bạn: bin64, arcpy, ArcToolbox \ Sc scripts Ví dụ: tệp .pth của tôi chứa các mục sau:
C:\Program Files (x86)\ArcGIS\Desktop10.2\bin64
C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy
C:\Program Files (x86)\ArcGIS\Desktop10.2\ArcToolbox\Scripts