I can't understand how the python import works for big projects on the Github. Everyone knows the import statement - "from packageName import moduleName". But for some big projects, for example Django. I've got tutored "from django.urls import path". (https://docs.djangoproject.com/en/3.2/topics/http/urls/) But couldn't find any path.py file under /django/urls directory from its Github structure. (https://github.com/django/django/tree/main/django/urls) Did I miss any advanced import mechanism?
            Asked
            
        
        
            Active
            
        
            Viewed 110 times
        
    1
            
            
        - 
                    1Does this answer your question? [What's the difference between a Python module and a Python package?](https://stackoverflow.com/questions/7948494/whats-the-difference-between-a-python-module-and-a-python-package) – Ankit Tiwari Nov 28 '21 at 06:33
1 Answers
1
            
            
        If you look at __init__.py, it imports the name path from conf.py. This makes path available as a variable in the django.urls module which can be imported.
 
    
    
        rchome
        
- 2,623
- 8
- 21
- 
                    Is it a regular way to collect to-export module names with a \_\_all__ array in the \_\_init__.py file? And any recommended tutorials for this? I couldn't find it from those for beginners! :( – Nik_Lo Nov 28 '21 at 07:08
- 
                    I'm definitely not any kind of expert on this subject, but I found some documentation you could read up on. https://docs.python.org/3/tutorial/modules.html#importing-from-a-package. It seems like the `__all__` list allows the module to explicitly specify which variables and packages get imported when you `import *` from that module. – rchome Nov 28 '21 at 07:19
- 
                    
