Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 722777
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 14, 20262026-05-14T06:01:47+00:00 2026-05-14T06:01:47+00:00

As I just found out import package does not make the package’s modules available

  • 0

As I just found out import package does not make the package’s modules available through package.module. The same obviously holds true for from package import subpackage as well as from package import *

What’s the purpose of importing a package at all then if I can’t access its submodules but only the objects defined in __init__.py?

It makes sense to me that from package import * would bloat the namespace, which, however, doesn’t apply in case of the other two ways! I also understand that loading all submodules might take a long time. But I don’t know what these unwanted side-effects, “that should only happen when the sub-module is explicitly imported”, are which the author of the previous link mentions.
To me it looks like doing an import package[.subpackage] (or from package import subpackage) makes absolutely no sense if I don’t exactly want to access objects provided in __init__.py.

Are those unwanted side effects really that serious that the language actually has to protect the programmer from causing them? Actually, I thought that Python was a little bit more about “If the programmer wants to do it, let him do it.”
In my case, I really do want to import all submodules with the single statement from package import subpackage, because I need all of them!
Telling Python in the __init__.py file which submodules I’m exactly talking about (all of them!) is quite cumbersome from my point of view.

Please enlighten me. 🙂

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-14T06:01:47+00:00Added an answer on May 14, 2026 at 6:01 am

    It’s up to the package if it automatically imports submodules in its __init__.py or not. For example os automatically imports os.path, so this works:

    import os
    print os.path.abspath('somefile')
    

    So the creator of the package can decide what is best. If automatically loading all submodules would take a rather long time and would rarely be needed, it probably shouldn’t be done. If all the submodules are always required they probably should be imported automatically.

    If you think a package imports not enough you could work around it by writing your own wrapper module that does all the imports, and then use that with from wrappermodule import *.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 357k
  • Answers 357k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer The other answers are correct. Here is some code you… May 14, 2026 at 9:40 am
  • Editorial Team
    Editorial Team added an answer you ruin the noConflict concept by reassigning the jquery to… May 14, 2026 at 9:40 am
  • Editorial Team
    Editorial Team added an answer If you get that particular error, you don't actually have… May 14, 2026 at 9:40 am

Related Questions

No related questions found

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.