ডেস্কটপের জন্য আর্কজিআইএসের পাইথন উইন্ডো থেকে জিডিএল আমদানি করছেন?


10

আমি আর্কজিআইএস 10.1 তে পাইথন উইন্ডোটি ব্যবহার করে কিছু পাইথন কোড চালানোর চেষ্টা করছি যা মডিউল arcpyএবং উভয়ই ব্যবহার করে gdal। তবে, আমি যখন gdalমডিউলটি চেষ্টা ও আমদানি করি তখন একটি ত্রুটি পাই:

ImportError: No module named osgeo

স্পষ্টতই এটি মডিউলটি খুঁজে পাচ্ছে না, তাই আমি আমার মূল পাইথন সাইট-প্যাকেজ ডিরেক্টরিটি sys.pathতালিকায় যুক্ত করেছি:

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

যাইহোক, যখন আমি চেষ্টা করে চালাচ্ছি import osgeoবা from osgeo import gdalআমি নিম্নলিখিত ত্রুটিটি পেয়েছি:

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.

আমি ইন্টারনেটে এমন বিভিন্ন সংস্থান পেয়েছি যা একই ধরণের সমস্যার বিষয়ে কথা বলে মনে হয় (উদাহরণস্বরূপ এই প্রশ্ন এবং এই ফোরামের পোস্ট , তবে তারা পুরানো বলে মনে হচ্ছে (যেমন, আরকজিআইএস 10.1 ব্যবহার না করে) বা একেবারে অনুরূপ জিজ্ঞাসা করছে না প্রশ্ন।

অবশ্যই, osgeoএকটি সাধারণ নন-আর্ক পাইথন উইন্ডো থেকে আমদানি করা ভাল কাজ করে, এবং আমি স্ক্রিপ্টগুলির মধ্যে sys.pathএবং এর os.environ['PATH']মধ্যে তুলনা করেছি এবং সেগুলি আপডেট করেছি যাতে তারা একই রকম হয় এবং সমস্যাটি ঠিক করা মনে হয় না।

আমি কীভাবে এটি কাজ করতে পারি তার কারও কি ধারণা আছে?


আমি এর আগে আরকিজিআইএস পাইথন ইন্টারফেসে লোকেরা জিডিএল পাওয়ার কাজ শুনেছি। কয়েকটি প্রশ্ন: আপনি জিডিএল ইনস্টল করতে কোন পদ্ধতিটি ব্যবহার করেছেন এবং আপনি কি নিশ্চিত উইন্ডোজ বাইন্ডিংগুলি সঠিকভাবে ইনস্টল করেছেন এবং সঠিকভাবে সেটআপ করেছেন? আর আপনি কি আর্কজিআইএস পাইথন ইনস্টলের সাথে পাইথন বাইন্ডিং ইনস্টল করেছেন?
জেমস মিলনার

দেখে মনে হচ্ছে আপনার কাছে পাইথনের আর একটি সংস্করণ (২.7) ইনস্টল আছে যা আর্কজিআইএস ১০. সংস্করণ (২.6) এর সাথে ইনস্টল করেছেন। আপনি কি ২.6 এর জন্য জিডিএল ইনস্টল করেছেন বা আপনি এটি ২.7 এর জন্য ইনস্টল করা সংস্করণটিতে নির্দেশ করার চেষ্টা করছেন? আপনার 2.7 একটি 64-বিট ইনস্টলেশন ইনস্টল করা হয়?
জেসন

@ জেসন: আমি আর্কজিআইএস ১০.১ ব্যবহার করছি, যা জি.এস.স্ট্যাকেক্সেঞ্জেজ / প্রশ্নগুলি / ২২২71১/২ অনুসারে পাইথন ২.7 ব্যবহার করে। আপনি কি জানেন যে এটি সঠিক কিনা?
রবিন্টউ

1
@ রবিন্টউ পাইথনের জন্য জিডিএল ইনস্টল করার বিভিন্ন উপায় রয়েছে। সম্ভবত আপনি আমাকে যে এক্সিকিউটেবল ব্যবহার করেছেন তার সাথে লিঙ্ক করতে পারেন এবং কীভাবে আপনি এটি সেট আপ করেছিলেন?
জেমস মিলনার

2
আমি সবেমাত্র প্রশ্নটি সমাধান করতে পেরেছি - আমি উপরের কিছুটা পড়া মিস করেছিলাম যেখানে @ জেসন জিজ্ঞাসা করেছিল যে আমি পাইথন ২.7-এর একটি 64৪-বিট ইনস্টলেশন ব্যবহার করছি কিনা। উত্তরটি হ'ল আমার মূল পাইথন ২.7 ইনস্টলটি -৪-বিট, তবে অর্কের ইনস্টলটি 32-বিট, সুতরাং আমার জিডিএল-এর 32-বিট সংস্করণ ইনস্টল করার দরকার ছিল এবং এখন এটি ঠিক আছে works সবাইকে ধন্যবাদ - আমি উত্তর হিসাবে আমার চূড়ান্ত সমাধান যুক্ত করব।
রবিন্টউ

উত্তর:


5

@robintw মন্তব্যগুলিতে এটি নিশ্চিত করেছেন ।


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

ত্রুটি থেকে, মনে হবে আপনার পাইথন ২. 2. ইনস্টলেশনটি 64৪-বিট। আপনাকে পাইথন এবং জিডিএল-এর 32-বিট সংস্করণ ইনস্টল করতে হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.