You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在同包内以外部用户的语法导入自身Python包?

解决包内模块使用外部用户导入语法的问题

要让showcase.py和外部用户一样用import package的语法,只需要在文件开头动态把some_dir目录加入Python的搜索路径即可,具体实现如下:

  • 在showcase.py最顶部添加这段代码:
    import sys
    from pathlib import Path
    
    # 动态获取some_dir的绝对路径
    # __file__是当前showcase.py的路径,parent往上走一级是package目录,再往上就是some_dir
    some_dir = str(Path(__file__).resolve().parent.parent)
    if some_dir not in sys.path:
        sys.path.append(some_dir)
    
    # 现在就能和外部用户一样导入了
    import package
    # 示例:调用包内的功能
    # package.some_api()
    

这样做的好处是不管你在哪里运行showcase.py,都能正确定位到some_dir,不会因为工作目录变化导致导入失败。如果后续包的目录结构有调整,只需要对应修改parent的调用层级即可(比如多一层目录就多调用一次.parent)。

内容的提问来源于stack exchange,提问作者DonPolettone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 08:27:03