আমি পাইথন 3.5.5 ব্যবহার করছি। আমি এখানে দস্তাবেজ এবং প্যাকেজ বিভাগটি পড়েছি: https://docs.python.org/3/tutorial/modules.html# প্যাক
এখন, আমি নিম্নলিখিত কাঠামো আছে:
/home/wujek/Playground/a/b/module.py
module.py
:
class Foo:
def __init__(self):
print('initializing Foo')
এখন, এর মধ্যে /home/wujek/Playground
:
~/Playground $ python3
>>> import a.b.module
>>> a.b.module.Foo()
initializing Foo
<a.b.module.Foo object at 0x100a8f0b8>
একইভাবে, এখন বাড়িতে, এর সুপারফোল্ডার Playground
:
~ $ PYTHONPATH=Playground python3
>>> import a.b.module
>>> a.b.module.Foo()
initializing Foo
<a.b.module.Foo object at 0x10a5fee10>
আসলে, আমি সব ধরণের জিনিস করতে পারি:
~ $ PYTHONPATH=Playground python3
>>> import a
>>> import a.b
>>> import Playground.a.b
কেন এই কাজ করে? আমি যদিও সেখানে হতে প্রয়োজন __init__.py
ফাইল (ফাঁকা বেশী কাজ করবে) উভয় a
এবং b
জন্য module.py
আমদানিযোগ্য হতে কখন পাইথন পাথ পয়েন্ট Playground
ফোল্ডারের?
পাইথন ২.7 থেকে এটি পরিবর্তিত হয়েছে বলে মনে হচ্ছে:
~ $ PYTHONPATH=Playground python
>>> import a
ImportError: No module named a
>>> import a.b
ImportError: No module named a.b
>>> import a.b.module
ImportError: No module named a.b.module
সঙ্গে __init__.py
উভয় ~/Playground/a
এবং ~/Playground/a/b
এটা কাজ করে জরিমানা।