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

如何从嵌入式Python环境中导入本地模块?

解决Windows嵌入式Python无法识别脚本所在目录模块的问题

以下是几种可行的解决思路,按需选择:

  • 修改Python嵌入式包的._pth文件
    找到嵌入式Python根目录下的python311._pth(文件名对应你的Python版本),打开后在现有路径列表末尾添加一行.(代表当前工作目录),或者直接添加脚本所在的具体相对路径。比如修改后的文件内容可能像这样:

    python311.zip
    .
    # Uncomment to run site.main() automatically
    #import site
    

    这样嵌入式Python就会默认把当前目录加入模块搜索路径,和常规Python一致。如果需要严格限制只包含脚本所在目录,也可以写成脚本目录的相对路径(比如脚本在根目录下的scripts文件夹,就加scripts)。

  • 在主脚本中手动添加路径到sys.path
    在目标脚本最开头加入以下代码,强制将脚本自身所在目录添加到模块搜索路径的最前面:

    import sys
    import os
    # 获取脚本所在的绝对目录
    script_dir = os.path.dirname(os.path.abspath(__file__))
    # 将目录加入搜索路径
    if script_dir not in sys.path:
        sys.path.insert(0, script_dir)
    

    这种方法只对当前脚本生效,不会影响其他使用该嵌入式Python执行的脚本,适合需要单独配置的场景,也能避免全局修改带来的潜在问题。

  • 启用site模块(谨慎使用)
    如果你希望嵌入式Python和常规Python的路径行为完全一致,可以打开python311._pth,把#import site这一行的注释去掉。启用site模块后,Python会自动添加用户站点目录等默认路径,但可能会引入系统中已有的Python依赖,破坏便携性,所以如果目标是完全便携的环境,不建议用这个方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 01:45:01