Nhập GDAL từ cửa sổ Python của ArcGIS cho Máy tính để bàn?


10

Tôi đang cố chạy một số mã Python bằng cửa sổ Python trong ArcGIS 10.1 sử dụng cả mô-đun arcpygdalmô-đun. Tuy nhiên, khi tôi thử và nhập gdalmô-đun, tôi gặp lỗi:

ImportError: No module named osgeo

Rõ ràng là nó không thể tìm thấy mô-đun, vì vậy tôi đã thêm thư mục gói python chính của mình vào sys.pathdanh sách:

sys.path.append(r"C:\Python27\lib\site-packages")

Tuy nhiên, khi tôi thử và chạy import osgeohoặc from osgeo import gdaltôi gặp lỗi sau:

Runtime error 
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Python27\lib\site-packages\osgeo\__init__.py", line 21, in <module>
    _gdal = swig_import_helper()
  File "C:\Python27\lib\site-packages\osgeo\__init__.py", line 17, in swig_import_helper
    _mod = imp.load_module('_gdal', fp, pathname, description)
ImportError: DLL load failed: %1 is not a valid Win32 application.

Tôi đã tìm thấy nhiều tài nguyên trên internet dường như nói về các vấn đề tương tự (ví dụ: câu hỏi nàybài đăng trên diễn đàn này , nhưng chúng dường như đã lỗi thời (ví dụ: không sử dụng ArcGIS 10.1) hoặc không hỏi tương tự câu hỏi

Tất nhiên, nhập osgeotừ cửa sổ Python không phải Arc thông thường hoạt động tốt và tôi đã so sánh sys.pathos.environ['PATH']giữa các tập lệnh và cập nhật chúng sao cho giống nhau và dường như không khắc phục được sự cố.

Có ai có bất cứ ý tưởng làm thế nào tôi có thể làm cho điều này để làm việc?


Tôi đã nghe những câu chuyện về những người khiến GDAL hoạt động trong giao diện python của ArcGIS trước đây. Một vài câu hỏi: Bạn đã sử dụng phương pháp nào để cài đặt GDAL và bạn có chắc chắn đã cài đặt các ràng buộc windows chính xác và thiết lập chính xác không? Và bạn đã cài đặt các ràng buộc python để cài đặt python ArcGIS chưa?
James Milner

Có vẻ như bạn đã cài đặt phiên bản Python (2.7) khác với phiên bản (2.6) được cài đặt bởi ArcGIS 10. Bạn đã cài đặt GDAL cho 2.6 chưa hay bạn đang cố gắng trỏ nó đến phiên bản được cài đặt cho 2.7? 2.7 của bạn có cài đặt 64-bit không?
Jason

@Jason: Tôi đang sử dụng ArcGIS 10.1, theo gis.stackexchange.com/questions/22271/, sử dụng Python 2.7. Bạn có biết nếu đó là chính xác?
robintw

1
@Robintw có rất nhiều cách để cài đặt GDAL cho python. Có lẽ bạn có thể liên kết tôi với thực thi bạn đã sử dụng và cách bạn thiết lập nó?
James Milner

2
Tôi vừa mới giải quyết được câu hỏi - Tôi đã cố đọc sai phần trên, nơi @Jason hỏi tôi có đang sử dụng bản cài đặt Python 2.7 64 bit không. Câu trả lời là cài đặt Python 2.7 chính của tôi là 64 bit, nhưng cài đặt của Arc là 32 bit, vì vậy tôi cần cài đặt phiên bản GDAL 32 bit, và bây giờ nó hoạt động tốt. Cảm ơn mọi người - Tôi sẽ thêm giải pháp cuối cùng của mình làm câu trả lời.
robintw

Câu trả lời:


5

@robintw đã xác nhận nó trong các ý kiến .


ImportError: DLL load failed: %1 is not a valid Win32 application.

Từ lỗi này, có vẻ như cài đặt Python 2.7 của bạn là 64 bit. Bạn sẽ phải cài đặt phiên bản 32-bit của Python và GDAL.

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.