Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to import a module but ignoring the package's __init__.py?

I'm trying to import a function which is in a module inside a package in Python, but when I try:

from package.module import some_function

Python executes the package's _init_.py but it can't happen.

Is there a way to import the function telling Python to ignore the package's _init_.py?

like image 442
Flávio J Vieira Caetano Avatar asked Dec 07 '12 13:12

Flávio J Vieira Caetano


1 Answers

The answer is No, you can't import a python package without the __init__.py being executed. By definition, to make a package, you must put in that directory a __init__.py.

But, you can make an empty __init__.py file.

If you want just to import a function from a module, you can use:

import sys
sys.path.append('path_to_package/')

from module import some_function

Note that this is a dirty solution, and won't always work.

like image 124
kaspersky Avatar answered Sep 21 '22 01:09

kaspersky