আমি পাইথন কনসোল থেকে আমার স্ক্রিপ্ট আমদানি করতে পারি না কেন?


9

আমি কিউগিস পাইথন কনসোল নিয়ে কাজ করছি। আমি আমার সমস্ত পাইথন স্ক্রিপ্টগুলি সাধারণত। / স্ক্রিপ্টস / পাইথনে সংরক্ষণ করি আমি আমার .bashrc তে পাইথনপথকে ~ / স্ক্রিপ্ট / পাইথন সেট করে রেখেছি, তবে আমি কিজিআইএস-এর অভ্যন্তরে কনসোল থেকে আমার স্ক্রিপ্টগুলি আমদানি করতে পারি না।

আমি ক্রিয়েটি_ফিজার্স 3 ডি নামে একটি স্ক্রিপ্ট আমদানির চেষ্টা করার সময় আমার ত্রুটি

import Create_Figures_2D
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/qgis/utils.py", line 309, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
ImportError: No module named Create_Figures_2D

পাইগিসের জন্য আমি কীভাবে পাইথনপথ সেট আপ করব?


1
~/Scripts/pythonPATH এ যুক্ত করার চেষ্টা করুন যা আমার জন্য সাধারণত কাজ করে। এটি দিয়ে দেখুনimport os; os.path
নাথান ডাব্লু

উত্তর:


11

পাইথন কনসোলে নিম্নলিখিতটি চালান:

import sys
sys.path

আপনার পাইথনপথ এন্ট্রি তালিকাভুক্ত কিনা তা দেখুন। আমি অনুমান করছি না, যেহেতু সেই পরিবেশের পরিবর্তনশীল সম্ভবত কিউজিআইএসের চলমান পাইথনের জন্য উপলব্ধ নয়।

কনসোলের সিস্টেমে আপনার স্ক্রিপ্টস ফোল্ডারটি যুক্ত করতে একটি নিয়মিত সংযোজন () করুন:

sys.path.append('~/Scripts/python')

তারপরে সেই কনসোল সেশনের জন্য আপনার মডিউলগুলি সেখান থেকে আমদানি করতে সক্ষম হওয়া উচিত। আমি আপনার ব্যবহারকারীর পূর্ণ হোম পাথে expand প্রসারিত করার প্রস্তাব দিচ্ছি (পাইথন ~ সম্প্রসারণ করে কিনা তা নিশ্চিত নয়)।

সম্পাদনা : ~ সম্প্রসারণটি sys.path (ম্যাকের উপর, কমপক্ষে) দ্বারা সমর্থিত বলে মনে হচ্ছে না

কিউজিআইএসের পাইথন কনসোলটি পাইথন মডিউল, 'কনসোল.পি' দ্বারা তৈরি করা হয়েছে। সুতরাং, আপনি যদি নিজের কাস্টম পাথটিকে আরও স্থায়ী ফ্যাশনে এর sys.path এ যুক্ত করতে চান তবে মডিউলের পরে কনসোল.পি ফাইল সম্পাদনা করুন এবং sys.path.append ('পাথ / থেকে / আমার / স্ক্রিপ্টস') বিবৃতি যুক্ত করুন আমদানি বিভাগ।

কনসোল.পি এখানে অবস্থিত (ম্যাকের জন্য, কিংচোস.কম কিউজিআইএস প্যাকেজ ব্যবহার করে ):

/Applications/QGIS.app/Contents/Resources/python/qgis/console.py

অবশ্যই এটি একটি হ্যাক যা মুছে ফেলা হবে এবং একটি QGIS.app আপডেটে আবার করতে হবে।

চলমান কিউজিআইএস পাইথন ইন্টারপ্রেটারের সিএস.পথের যে কোনও সমন্বয় অন্য প্লাগইনগুলিতেও উপলভ্য।

একটি নিরাপদ বিকল্প হ'ল একটি সহজ, বিকাশ পিকিকিজিআইএস প্লাগইন তৈরি করা যা আপনি যখনই চাইবেন sys.path.append () লোড করে এবং কেবল করে। এটি প্লাগইন আনলোড () এ sys.path থেকে সেই পথটি সরিয়ে ফেলতে পারে। ইতিমধ্যে লোড হওয়া কনসোলটিতে এই জাতীয় প্লাগইনের sys.path সামঞ্জস্যতা পাওয়া যাবে কিনা তা আমি পরীক্ষা করে দেখিনি (আমি অনুমান করছি, এটি হবে।)


আপনার হ্যাক আমার জন্য এখনও ভাল কাজ করছে। ধন্যবাদ আপনি খুব much.On উবুন্টু 12.04, ফাইল /usr/share/pyshared/qgis/console.py এ অবস্থিত
Renaud

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