vấn đề nhập Arcpy trong Python IDLE


9

Tôi muốn sử dụng arcpy trong mã python của tôi. Tôi có thể nhập nó thông qua bảng điều khiển python máy tính để bàn ARCGIS. Nhưng tôi không thể nhập nó vào Python IDLE. Tôi nhận được lỗi sau đây

Traceback (most recent call last):

File "C:\Python26\lib\site-packages\win32com\client\dynamic.py", line 246, in 
__getitem__raise TypeError("This object does not support enumeration") 

Tôi đã đề cập đến các thư mục sau đây như là một phần của đường dẫn python của tôi.

C:\Program Files\ArcGIS\Desktop10.0\arcpy;
C:\Program Files\ArcGIS\Desktop10.0\arcpy\arcpy;
C:\Python26\ArcGIS10.0\Tools\Scripts

Tôi tìm thấy vấn đề tương tự đang được đề cập.

sản lượng arcpy nhập khẩu "TypeError: Đối tượng này không hỗ trợ liệt kê"

Người dùng nói rằng đó là do những điều sau đây:

Tôi đã viết cho Arcgis 9 và 10 trong cùng một thư mục. Đôi điều về logic khởi tạo trong nhập Arcpy tìm thấy arcgisscripting.py tùy chỉnh được sử dụng để chạy python 2.6 với arcgis 9.3 khi chúng được đặt cùng nhau.

Tôi chỉ có ARCGIS 10 và tôi không biết làm thế nào arcpy tìm kiếm các mô-đun của nó.


Bạn chỉ cần nhập nhập Arcpy vào shell Python (của IDLE) để xem lỗi này? Hoặc có lẽ chỉ cần gõ nhập arcpy vào cửa sổ Python (của IDLE) và sử dụng Run Module để xem nó? Bạn có phải sử dụng một PYTHONPATH dài? Tôi chỉ có PYTHONPATH = C: \ Python26 và C: \ Python26 \ ArcGIS10.0 là một phần của biến PATH của tôi.
PolyGeo

có, tôi chỉ nhập mô-đun trong cửa sổ IDLE. Tôi cũng đã thử sử dụng trình thông dịch python này trong ARCGIS, đã nhập các mô-đun arpy. Tôi vẫn nhận được lỗi.
Karthik Bharadwaj

1
Bạn có phải sử dụng một PYTHONPATH dài? Tôi chỉ có PYTHONPATH = C: \ Python26 và C: \ Python26 \ ArcGIS10.0 là một phần của biến PATH của tôi.
PolyGeo

1
giải pháp windows -> cài đặt lại cả arcgis và python.
Aragon

1
Tôi muốn hiểu vấn đề tiềm ẩn và nguyên nhân của nó như thế nào, trong trường hợp xấu nhất tôi nghĩ il phải giải quyết cả hai. @PolyGeo. Tôi đã thay đổi đường dẫn của tôi và biến đường dẫn python. nhưng vấn đề loại bỏ như nhau.
Karthik Bharadwaj

Câu trả lời:


9

Sửa chữa của bạn PYTHONPATH. Từ ArcGIS trợ giúp:

Khi sử dụng câu lệnh nhập, Python tìm mô-đun khớp với tên đó ở các vị trí sau (và theo thứ tự sau):

  1. Đường dẫn được chỉ định trong PYTHONPATHbiến môi trường hệ thống
  2. Một tập hợp các thư mục Python chuẩn (thư mục hiện hành, C:\python2x\lib, C:\python2x\Lib\site-packages, và vân vân)
  3. Đường dẫn được chỉ định bên trong bất kỳ .pthtệp nào được tìm thấy trong 1 và 2

Để biết thêm thông tin về điều này, hãy xem phần sau: http://docs.python.org/install/index.html#modifying-python-s-search-path . Việc cài đặt các sản phẩm ArcGIS 10.0 sẽ cài đặt Python 2.6 nếu nó chưa được cài đặt. Việc cài đặt cũng sẽ thêm tệp Desktop10.pth(hoặc Engine10.pthhoặc Server10.pth) vào python26\Lib\site-packages. Nội dung của tệp này là hai dòng chứa đường dẫn đến thư mục Arcpy và bin của cài đặt ArcGIS của hệ thống của bạn. Hai đường dẫn này được yêu cầu để nhập ArcPy thành công trong phiên bản Python 2.6. Khi sử dụng câu lệnh nhập, Python tham chiếu đến PYTHONPATHbiến môi trường của hệ thống của bạn để định vị các tệp mô-đun. Biến này được đặt thành một danh sách các thư mục.


Tiền boa:

Nếu nhập ArcPy tạo ra một trong các lỗi sau, không thể tìm thấy các mô-đun cần thiết: ImportError: No module named arcpy ImportError: No module named arcgisscripting

Để giải quyết vấn đề này, hãy duyệt bằng Windows Explorer vào python26\Lib\site-packagesthư mục và thêm hoặc chỉnh sửa Desktop10.pthtệp. Tệp phải chứa hai dòng hiển thị bên dưới (được sửa theo đường dẫn hệ thống của bạn nếu chúng không khớp):

  • C:\Program Files\ArcGIS\Desktop10.0\arcpy
  • C:\Program Files\ArcGIS\Desktop10.0\bin

Cảm ơn tất cả. Giống như @Aragon đề nghị tôi cài đặt lại cả ARCGIS Desktop và Python. đặt tệp Desktop.pth vào vị trí và nó hoạt động.
Karthik Bharadwaj
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.