【问题标题】:Importing python modules and extension modules with the same name导入同名的python模块和扩展模块
【发布时间】:2021-05-06 05:27:41
【问题描述】:

假设我构建了一个包,其中包含一个 Python 模块和一个扩展模块,但名称相同

mypackage
|
+-- __init__.py
|
+-- mymodule.py
|
+-- mymodule.cpython-39-x86_64-linux-gnu.so

我发现当我执行from mypackage import mymodule 时,正在导入的是扩展模块。我想知道为什么会这样?在导入期间扩展模块是否优先?如果是这样,任何人都可以指出记录此行为的位置吗?

【问题讨论】:

    标签: python python-import python-module python-extensions mypyc


    【解决方案1】:

    查看这个关于导入的doc,它包含以下关于导入同名模块的简介:

    提示:搜索顺序由函数 imp.get_suffixes() 返回的后缀列表决定。通常按以下顺序搜索后缀:“.so”、“module.so”、“.py”、“.pyc”

    【讨论】:

    • 太棒了!谢谢,这正是我想要的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 2019-11-01
    • 2011-10-01
    • 2018-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多