要在 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 文件中定义的功能。
 

![Go语言的[GPM模型]](https://img-blog.csdnimg.cn/b7d1129d299347639d7d87dae307fe85.png)

















