1
我试图导入一个函数,它是在Python包内的模块中,但是当我尝试:导入模块忽略__init__.py
from package.module import some_function
的Python执行了这个包的__init__.py却能不会发生。
有没有办法导入告诉Python忽略软件包的__init__.py的函数?
感谢
我试图导入一个函数,它是在Python包内的模块中,但是当我尝试:导入模块忽略__init__.py
from package.module import some_function
的Python执行了这个包的__init__.py却能不会发生。
有没有办法导入告诉Python忽略软件包的__init__.py的函数?
感谢
答案是否定的,你不能没有被执行__init__.py导入一个Python包。根据定义,为了创建一个包,你必须在该目录中放置一个__init__.py。
但是,您可以创建一个空的__init__.py文件。
如果你只想导入从一个模块的功能,你可以使用:
import sys
sys.path.append('path_to_package/')
from module import some_function
注意,这是一个肮脏的解决方案,而不会总是工作。
为什么你想忽略'__init __。py' –
我不完全确定你的意思是“但它不会发生。”但简短的答案是否定的,你不能告诉python忽略该文件。你可以使用'sys.path'来发挥其他功能,但最多只能是黑客入侵。也许你可以重构一些东西,使你的'__init __。py'为空?或者至少不会导致任何不良副作用? – jszakmeister
http://stackoverflow.com/questions/7533480/why-is-init-py-not-being-called – Vatsal