要在 mypackage
包外使用 mypackage
包里的 speak.py
文件以及 newpackage
包里的 jump.py
文件,你需要确保以下几个步骤:
mypackage/
__init__.py
speak.py
newpackage/
__init__.py
jump.py
speak.py
文件中定义相关功能,例如:# mypackage/speak.py
def speak():
return "Hello from speak.py"
jump.py
文件中定义相关功能,例如:# mypackage/newpackage/jump.py
def jump():
return "Jumping from jump.py"
mypackage/__init__.py
文件中导入 speak.py
和 newpackage
包,以便可以在包外访问它们,如下所示:# mypackage/__init__.py
# 导入 speak.py 中的 speak 函数
from . import speak
# 导入 newpackage 包
from . import newpackage
确保 mypackage
包所在的目录(包含 mypackage
文件夹的上级目录)已经添加到 Python 的模块搜索路径中。你可以将该目录添加到 sys.path
,或者将其设置为 PYTHONPATH 环境变量。
在包外的 Python 文件中,你可以使用以下方式导入 speak.py
和 newpackage
包中的 jump.py
文件:
# 导入 speak.py 中的 speak 函数
from mypackage import speak
# 导入 newpackage 包中的 jump.py 文件中的 jump 函数
from mypackage.newpackage import jump
现在,你可以在包外的 Python 文件中使用 speak
函数和 jump
函数,如下所示:
print(speak.speak()) # 输出: Hello from speak.py
print(jump.jump()) # 输出: Jumping from jump.py
通过这种方式,你可以在包外使用 mypackage
包中的 speak.py
文件和 newpackage
包中的 jump.py
文件中定义的功能。