Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Package Discovery and __init__.py | Python Project Structure & Packaging Basics
Python Packaging and Distribution

bookPackage Discovery and __init__.py

メニューを表示するにはスワイプしてください

When you work with packages in Python, the presence or absence of an __init__.py file in a directory determines how Python treats that directory during import. Historically, any directory intended to be a package must contain an __init__.py file. This file marks the directory as a Python package and enables the interpreter to import modules from it.

Python 3.3 and later introduced implicit namespace packages, which allow you to create packages without an __init__.py file. If you omit __init__.py, Python still recognizes the directory as a package, but only for the purpose of grouping subpackages and modules across multiple locations on the filesystem. This is useful for large projects or plugin systems. However, explicit packages—those with an __init__.py—are still the most common and compatible approach, ensuring clear package boundaries and predictable import behavior.

Choosing between implicit and explicit packages impacts how Python discovers and loads your code:

  • Explicit packages are generally preferred for most projects;
  • They work reliably with standard tools;
  • They make your package structure clear to both Python and other developers.
question mark

What is the primary role of the init.py file in a Python package?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  4

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  4
some-alt