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

Python中已加__init__.py和sys.path.append仍遇ModuleNotFoundError

解决Python包导入失败的问题

先排查核心前提

  • 确保ultralight文件夹下存在__init__.py文件(可以是空文件,但必须有,Python才会将其识别为合法包)。如果缺失,直接在ultralight根目录创建空的__init__.py即可。

修正sys.path的写法

你当前的路径拼接逻辑存在问题,试试调整为以下绝对路径写法:

import os
import sys
# 获取当前示例文件所在的绝对目录
current_file_dir = os.path.dirname(os.path.abspath(__file__))
# 拼接项目根目录(即ultralight包所在的上级目录)
project_root = os.path.join(current_file_dir, '..')
# 将项目根目录加入Python的搜索路径
sys.path.append(project_root)

# 再次尝试导入
import ultralight as ul

之前你直接拼接至ultralight文件夹,会导致Python只能识别该文件夹内的模块,无法识别ultralight这个包本身——正确的做法是把项目根目录加入路径,让Python能找到根目录下的ultralight包。

更规范的开发方式(推荐)

既然目标是创建可分发的包,建议用开发模式安装包,彻底解决路径问题:

  1. 在项目根目录(包含ultralight、examples的文件夹)下创建pyproject.toml文件,内容参考:
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"

[project]
name = "ultralight"
version = "0.1.0"
  1. 打开终端进入项目根目录,执行命令:
pip install -e .

该命令会将你的包以可编辑模式安装到当前Python环境,之后无论在哪个路径运行示例文件,都能直接import ultralight as ul,无需手动修改sys.path。

额外排查点

  • 检查Python环境一致性:确保运行示例文件的Python解释器,和你安装包/调整路径的环境是同一个(避免虚拟环境切换导致的问题)。可以在示例文件开头添加print(sys.executable),查看当前解释器路径是否符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 15:03:13