অজগর কীভাবে এর মডিউলগুলি সন্ধান করে
কড়াভাবে নেওয়া, মডিউলটি একটি একক পাইথন ফাইল, অন্যদিকে একটি প্যাকেজ পাইথন ফাইলযুক্ত ফোল্ডার সহ একটি (খালি থাকতে পারে) নামের একটি ফাইল রয়েছে __init__.py
, পাইথনকে বলতে মডিউলগুলি আমদানির প্যাকেজ বলে। উভয় ক্ষেত্রেই, মডিউলগুলির তাদের .py
সম্প্রসারণ প্রয়োজন , তবে সেগুলি আমদানি ছাড়াই করা হয় (নীচে আরও দেখুন)।
ডিফল্টরূপে পাইথন এর মডিউল এবং প্যাকেজগুলিতে সন্ধান করে $PYTHONPATH
।
Y পাইথনপথে কী অন্তর্ভুক্ত রয়েছে তা জানতে, পাইথনে নিম্নলিখিত কোডটি চালান (3):
import sys
print(sys.path)
ডিরেক্টরি কীভাবে যুক্ত করবেন
কদাচিৎ
পাইথন ফাইলের মধ্যে থেকে, আপনি পাইথন অ্যাপ্লিকেশন বা স্ক্রিপ্টের প্রধান বিভাগে নিম্নলিখিত লাইনগুলি যুক্ত করে মাঝে মাঝে ডিফল্ট পথে পাথ যোগ করতে পারেন:
import sys
sys.path.insert(0, "/path/to/your/package_or_module")
উদাহরণ স্বরূপ:
যদি আমার একটি ফোল্ডার থাকে: /home/myname/pythonfiles
এবং আমি module_1.py
সেই ডিরেক্টরিতে অবস্থিত ফাইলটি আমদানি করতে চাই , আমি এটি আমার কোডের প্রধান অংশে যুক্ত করব:
import sys
sys.path.insert(0, "/home/myname/pythonfiles")
এবং আমি কেবল ফাইলটি আমদানি করতে পারি module_1.py
:
import module_1
যখন আমি একটি প্যাকেজ তৈরি করি এবং প্যাকেজটি থেকে মডিউল (গুলি) আমদানি করতে চাই $PYTHONPATH
, তখন মডিউলগুলির মধ্যে একটি ফোল্ডার তৈরি করতে হবে, যার সাথে একটি (খালি থাকতে পারে) নামক ফাইল বলা হবে__init__.py
উদাহরণ স্বরূপ:
একটি প্যাকেজ (ফোল্ডারের) নামক থেকে আমদানি করতে my_package
এ /home/myname/pythonfiles
, অ্যাড /home/myname/pythonfiles
আপনার পাথ $PYTHONPATH
, উদাহরণস্বরূপ 1 মত, এবং মডিউল নামক আমদানি module_2.py
(প্যাকেজ ফোল্ডারের ভিতরে) কেবল সঙ্গে `
from <packagename> import module_2
$PYTHONPATH
স্থায়ীভাবে ডিরেক্টরি যুক্ত করা :
আপনার ~/.profile
ফাইলে নিম্নলিখিত লাইনটি যুক্ত করুন।
export PYTHONPATH=$PYTHONPATH:/path/you/want/to/add
সাবডিরেক্টরি
একটি প্যাকেজের মধ্যে থেকে, উপ-ডিরেক্টরিগুলি ঠিক এর মতো অন্তর্ভুক্ত নয়; আপনাকে ডিরেক্টরিগুলি "চেইন" করতে হবে। module_3.py
ফোল্ডারের subfolder
অভ্যন্তরে ফোল্ডারের ভিতরে একটি মডিউল আমদানি করতে packagename
:
import packagename.subfolder.module_3
এই প্যাকেজের সমস্ত সাব-ফোল্ডারগুলিতে তাদের নিজস্ব __init__.py
ফাইল অন্তর্ভুক্ত রয়েছে তা দেওয়া হয়েছিল ।
যখন কোনও মডিউল স্ক্রিপ্ট বা অ্যাপ্লিকেশন হিসাবে একই ডিরেক্টরিতে থাকে
স্ক্রিপ্ট বা অ্যাপ্লিকেশন হিসাবে একই ডিরেক্টরিতে থাকা অবস্থায় কোনও মডিউলটিতে পাথ প্রবেশ করার দরকার নেই, এটি স্বয়ংক্রিয়ভাবে যুক্ত হবে।
উদাহরণ:
আমার যদি একটি ফোল্ডার থাকে script.py
এবং এতে থাকে তবে module.py
আমি কেবল মডিউলটি এগুলি দ্বারা আমদানি করতে পারি:
import module
__init__.py
আপনার ফোল্ডারে একটি ফাইল আছে ? এইভাবে পাইথন প্যাকেজ তৈরি করে এবং আপনাকে সেই প্যাকেজ থেকে মডিউল আমদানি করতে দেয়। গাইড.python-distribute.org/creation.html